上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 28 下一页
摘要: 解题思路:对于01背包的状态转移方程式f[v]=max(f[v],f[v-c[i]+w[i]]);其实01背包记录了每一个装法的背包值,但是在01背包中我们通常求的是最优解,即为取的是f[v],f[v-c[i]]+w[i]中的最大值,但是现在要求第k大的值,我们就分别用两个数组保留f[v]的前k个值... 阅读全文
posted @ 2014-12-09 07:30 sequenceaa 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 解题思路:因为对于完全背包的状态转移方程f[v]=max(f[v],f[v-c[i]]+w[i])已经记录了所有背包组成的方案,只不过通常问的是求最大值,现在要求方案总数即为 f[v]=sum(f[v],f[v-c[i]+w[i]]),Problem Description在一个国家仅有1分,2分,... 阅读全文
posted @ 2014-12-07 07:54 sequenceaa 阅读(400) 评论(0) 推荐(1) 编辑
摘要: 解题思路:直接套公式就可以做的完全背包。Problem Description不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前.死亡骑士:"我要买道具!"地精商人:"我们这里有三种道具,血瓶150... 阅读全文
posted @ 2014-12-05 12:50 sequenceaa 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 解题思路:因为食物是可以随便吃的,所以是完全背包,卡路里代表消耗,幸福感代表价值,套公式就可以做了。Problem Description 对于吃货来说,过年最幸福的事就是吃了,没有之一! 但是对于女生来说,卡路里(热量)是天敌啊! 资深美女湫湫深谙“胖来如山倒,胖去如抽丝”的道理,所以她... 阅读全文
posted @ 2014-12-05 00:53 sequenceaa 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 解题思路,首先很容易想到方程f[v]=min(f[v],f[v-w[i]+p[i]),因为是要求当包装满的时候(因为题目中给出的是包的质量是一定的),包里面装的钱最少,所以将f[]初始化成一个很大的数。然后对于这个循环for(i=1;i#define max 1000000000int p[5000... 阅读全文
posted @ 2014-12-04 18:56 sequenceaa 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 解题思路:先忽略饭卡余额大于等于5块才能买饭这一细节,需要求的是饭卡里面剩余的钱最少,转化一下,变成花的钱最多,那么剩下的钱就最少,再考虑余额大于等于5块才能买饭这一细节,可以这样想,如果卡里的余额不足5块,那么买不到饭,直接输出现在卡里的金额,如果卡里的钱多于5块,我们就可以先将这5块钱留起来,这... 阅读全文
posted @ 2014-12-03 00:27 sequenceaa 阅读(283) 评论(0) 推荐(0) 编辑
摘要: A解题思路:即为给出的形如 1,1+2,1+2+3,1+2+3+4,----,1+2+3+4+---+n的数列,给你一个数判断它在该数列的第几项。这个数列的前n项和公式为 s(n)=n*(n+1)*(n+2)/6;证明 s(n)=n*(n+1)*(n+2)/6因为 a(n)=n*(n+1)/2=n*... 阅读全文
posted @ 2014-12-02 13:07 sequenceaa 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 解题思路:直接套公式就能做的01背包,for(i=1;i=c[i];v--) //即最开始给定包的总容量(此时包是空的),循环跳出条件是预留出现在正在放入的这个包的体积(这样你可以选择放入或者不放入),然后放下一个包的时候,之前包的总价值也被记录下来了。 f[v]=max(f[v],f[v-w[... 阅读全文
posted @ 2014-12-01 13:18 sequenceaa 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 解题思路:输入总人数 n,和m组数据;即和杭电畅通工程相类似,对这m组数据做合并操作后,求最后一共有多少块区域。#includeint pre[50001];int find(int root){ if(root!=pre[root]) pre[root]=find(pre[root]); ret... 阅读全文
posted @ 2014-11-28 18:14 sequenceaa 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 解题思路:一共给出 n个人,m组,接下来是m组数据,每一组开头是该组共有的人 num,则接下来输入的num个数,这些数是一组的又因为最开始只有编号为0的人携带有病毒,且只有同一组的人会相互传染,问最后一共有多少人携带有病毒,则问题简化为求含有0那一组一共有多少个人。反思:最开始把对应每输入一组的数据... 阅读全文
posted @ 2014-11-28 13:47 sequenceaa 阅读(148) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 28 下一页