-
题目链接 题意:给你一部魔咒词典。当哈利听到一个魔咒时,你的程序必须告诉他那个魔咒的功能;当哈利需要某个功能但不知道该用什么魔咒时,你的程序要替他找到相应的魔咒。如果他要的魔咒不在词典中,就输出“what?” 思路:hash裸题。。。然而怎么感觉是第一次写hash呢。。。。 /* *********************************************** Author :111qqz Created Time :2016年11月20日 星期日 10时27分05秒 File Name :code/hdu/1880.cpp …
Read More -
2456: mode Time Limit: 1 Sec Memory Limit: 1 MB Submit: 3887 Solved: 1636 [Submit][Status][Discuss] Description 给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数。 Input 第1行一个正整数n。 第2行n个正整数用空格隔开。 Output 一行一个正整数表示那个众数。 Sample Input 5 3 2 3 1 3 Sample Output 3 HINT 100%的数据,n<=500000,数列中每个数<=maxlongint。 zju2132 The Most …
Read More -
1968: [Ahoi2005]COMMON 约数研究 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 1997 Solved: 1508 [Submit][Status][Discuss] Description Input 只有一行一个整数 N(0 < N < 1000000)。 Output 只有一行输出,为整数M,即f(1)到f(N)的累加和。 Sample Input 3 Sample Output 5 HINT Source Day2 思路:如果跟着题目的意思走。。。求每个数的约束个数。。。复杂度是不资瓷的。。。 然而因为是求和,我们可以直接考虑,每个因子对答案的 …
Read More -
2463: [中山市选2009]谁能赢呢? Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1826 Solved: 1347 [Submit][Status][Discuss] Description 小明和小红经常玩一个博弈游戏。给定一个n×n的棋盘,一个石头被放在棋盘的左上角。他们轮流移动石头。每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问过。谁不能移动石头了就算输。假如小明先移动石头,而且两个选手都以最优策略走步,问最后谁能赢? Input 输入文件有多组数据。 输入第一行包含一个整数n,表示棋盘的规模。 当输入n为0时,表示输入结 …
Read More -
题目链接 题意: For every pair of triplets, Ta = (Ia, Ja, Ka) and T__b = (Ib, Jb, Kb), we define the difference value between Ta and_T__b_ as follows: D(Ta,_ Tb_) = max {Ia − Ib, Ja − Jb, Ka − Kb} − min {Ia − Ib, Ja − Jb, Ka − Kb} Now you are given N triplets, could you write a program to calculate the sum of the difference …
Read More -
poj 2443题目链接 题意:给出n个可重集...以及集合中的元素。。。现在若干查询,每个查询给出一对数x,y,询问是否存在某个集合,同时拥有x,y两个元素(x,y可以相同) 思路:由于x,y最大时10000,容易想到对每一个元素开一个集合,记录这个元素出现的集合的标号,然后用 set_intersection 来做... 就是询问的时候交一下两个集合,看是否为空,结果Tle了。。。 正解其实也是这个思路,不过用到了bitset加速一下。因为我求集合相交的时候,并不需要知道交了以后的结果,只需要知道是否为空,那么我们不妨用bitset 对每个元素开一个bitset,每个bitset上,第i位为1表示,该元素在第i个集中中出现了。 …
Read More -
题目链接 题意:容量为V的背包,n个骨头,给出价值和体积,问最多能装多少价值的背包。 思路:01背包裸体。 /* *********************************************** Author :111qqz Created Time :2016年11月16日 星期三 15时14分36秒 File Name :code/hdu/2602.cpp ************************************************ */ #include <cstdio> #include <cstring> #include <iostream> …
Read More -
hdu1864题目链接 题意:中文题目,不多说了。 思路:正解是01背包,呵呵呵。 出题人是傻逼吗? 不给数据范围? 以及,正解的01背包基于所有的发票额度的只有2位小数。这是让人猜? 本来看到这题这么恶心时不打算写的... 写了的原因纯粹是为了吐槽傻逼出题人.. 简直是我做得最垃圾的题目之一。 /* *********************************************** Author :111qqz Created Time :2016年11月16日 星期三 14时13分28秒 File Name :code/hdu/1864.cpp …
Read More -
题目链接 题意: 给出n个银行 ,以及抢劫每个银行可以得到的价值和被抓的概率,不同银行之间被抓的概率是相互独立的,现在给出安全概率p,只有当概率从小于安全概率时才是安全的,问最多能抢劫多少价值。 思路:一开始很直接就想到把概率算成容量, 于是就成了经典的01背包,然后发现概率是double型。。。想当然得以为最多是2位小数,于是都*100转化成了整数做01背包。 然而正确思路是,把银行价值看成背包容量,而背包价值是概率! 将危险的概率转化成安全概率(1-危险概率=安全概率) 然后做01背包。 然后从大到小扫一遍价值,第一个大于安全概率的就是答案。 注意精度。 /* …
Read More