- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 HDU 2138 How many prime numbers
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2138 哎,学了太多,忘了根本,直接素数判断累加就好了 之前居然考虑要打表神马的。。 因为题目没给数的大小。。又是各种超时,RE。。。闷 #include #include #include using namespace std; int prime(int n) {
2012-08-24 16:48:28
505
原创 Hdu 1215 七夕节 (数论:因子和)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1215 大声吼声。。真不适合做数论题。。各种超时,RE。。。 好吧,这道题的题意非常明白了,怎么做又是一回事了。 500000的上限数值肯定不能暴力了。 那么就最土的打表了。 怎么构建表格呢? 首先有一点: 一个数的倍数,则因子肯定含有这个数。 记住这个吧。。 AC代
2012-08-24 16:04:30
624
原创 HDU 1085 Holding Bin-Laden Captive! (本来想用母函数的,结果直接爆了)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1085 好吧。。现在在学母函数。。 悲剧的是这题貌似不用母函数那么多数据。。 直接爆。。 #include #include using namespace std; int temp[20000]; int main() { int o,t,w; int sum;
2012-08-23 16:47:03
542
原创 HDU 2037 今年暑假不AC (贪心)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2037 这道题大意就不解释了,关键是这道题目的解法 我们在这里使用的是贪心 在贪心中,有一种便是这种活动安排的题型 以下便是关于这类题型的解释: 活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合,是可以用贪心算法有效求解
2012-08-20 21:17:02
896
原创 HDU 3974 Assign the task (并查集改编)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3974 这道题目的意思是这样的: 给你一个N,说明有N个人 然后接下来N行是这些人的关系 两个数字表示后者是前者的boss 然后再给你一个M,说明下面有M种情形 遇到C,你就要输出当前C后面跟着的那个号数的经理当前在做的任务。 遇到T,例如:T 2 1,你就要把任务1给2经理,而且,他的
2012-08-20 17:29:19
1448
原创 HDU 1232 畅通工程 (并查集)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 这道题目,是一道很清楚的并查集模板题。 首先给你两个数据,表示城镇数量N和道路数量M 接下来会告诉你哪几个城市已经通路了 剩下的就是你要算出,至少要需要多少条路。 如果你还不会并查集,你可以到这里下载 并查集基础知识讲解: http://download.youkuaiyun.com/
2012-08-20 17:19:51
576
原创 HDU 1251 统计难题 (字典树基本模板,有详细注释)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251 题目的意思已经很明白了:统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). 我这就直接给字典树基础模板了,给了一些注释,望各位能理解 #include #include using namespace std; typedef struct tree //
2012-08-20 16:52:21
753
原创 HDU 1671 Phone List (字典树+释放内存)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1671 题目的意思可能不好理解: 其实他的意思是:给你号码,如果有出现其中的号码是其他号码的前缀,则NO,否则YES。 用字典树储存号码,然后搜索是否有前缀 很明白的一道模板题了,就不多做解释了。 不过值得一提的是,这道题如果没有写上树的释放函数,肯定错。 其实一般字典树的题目都写上这个函
2012-08-20 16:48:27
1219
原创 HDU 2844 Coins (多重背包+二进制优化模板)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2844 这道题的意思也是看了许久才明白过来 给你n和m分别代表n种银币,要买的东西不高于m元 然后给你2*n个数据,前n个是价值,后n个是个数 然后问你,重新组合这些硬币,能组合出多少组不大于m的组合? 就是1到m有几种情况。 这道题,考虑到有两个情况:1、物品可拿有n件
2012-08-19 17:22:54
1673
原创 HDU 2159 FATE (二维费用背包,模板题)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159 第一次做到二维费用背包,还是感觉很棘手,后来看了看材料,原来只是在一维的基础上再加上一维,其实就是两个01背包组成 这里有份材料,可以参考下: 二维费用的背包问题是指:对于每件物品,具有两种不同的费用;选择这件物品必须同时付出这两种代价;对于每种代价都有 一个可付出的最大值(
2012-08-19 10:09:34
969
原创 HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 (多重背包模板)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191 题目的大意也很清楚,就是给你一定的钱,还有各种米的重量、费用 问你如何买才能买到最大重量的大米 AC代码,应用多重背包模板: #include #include #include using namespace std; #define max(a,b) a
2012-08-18 17:27:13
1517
原创 HDU 2602 Bone Collector (01背包模板)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 很简单的一道模板题目。 这里就不解释题目的意思了。 以下是01背包模板。 #include #include #include using namespace std; int n,v; int V[1000],value[1000],dp[1000]; in
2012-08-18 17:20:34
686
原创 HDU 1059 Dividing (多重背包模板题,条件改变,比较灵活)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1059 这道题刚一看,确实没有想到是背包类型的题目,那么我们怎么分析它是一道多重背包问题呢? 首先可以知道的是,我们要将这些硬币分为价值等同的两份 那么,我们可以用sum存下总价值,将总价值当做背包的容量 这样我们用一半的的容量背包去装一半价值的弹珠 当然,如果能装的下,则剩下的一半背
2012-08-18 17:12:23
616
原创 DHU 1114 Piggy-Bank (完全背包,变式)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114 ================================== 题目大意,给你空小猪储钱罐的重量和装满小猪储钱罐的重量 还有给你硬币的价值和重量,让你估计储钱罐里最少会有多少价值的钱 这道题因为硬币个数不为1,所谓我们考虑使用完全背包 这时候我们就要分析动态方程,
2012-08-18 15:00:52
464
原创 HDU 2955 Robberies (10背包改编)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 题目大意: 这个小偷想偷银行的钱 给你被抓的最大概率,和N家银行 下面N行代表的是这家银行都多少钱,和被抓的最大概率。 有这时候我们关键的是怎么写出动态方程出来 我们学习的10背包是两种方面构成的,一是背包的最大体积,二是装入背包物品的价值和体积。 我们来模拟这个过程
2012-08-17 21:34:02
973
原创 HDU 1203 I NEED A OFFER! ,01背包改编。
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1203 ========================== 最主要的地方在于动态方程是: dp[i]=max(dp[i],1-(1-dp[i-money])*(1-rp)); 概率的算法是,例如:1-(1-0.2)*(1-0.3); AC代码如下: #include #in
2012-08-17 20:05:55
512
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人