给出一个森林,每棵树均为一组物品,首先推出每棵树可以组成的物品种类。
然后是基本的分组背包模板。
即 最外层枚举组数,次外层枚举背包容量,内层枚举物品体积。
对于每棵树有 ans[root][i+j] = ans[root][ i ] + ans[son][ j ]。
题水数据也水,不多说了。
#include
#include
#include
#include
#in...
分类:
其他好文 时间:
2014-07-22 23:05:52
阅读次数:
387
hdu 1250 Hat's Fibonacci 高精度数,类似万进制...
分类:
其他好文 时间:
2014-05-01 18:26:27
阅读次数:
351
题目:寻找最长上升自序列。
代码:
#include
#include
#include
#include
using namespace std;
struct node
{
int w,s; //重量,速度
int num; //编号
int t; //用来记录当前编号...
分类:
其他好文 时间:
2014-05-01 17:17:32
阅读次数:
285
OJ题目 : click here ~~
题目分析:G种颜色的宝石(Gems),放在B个包里,每个包里同种宝石的个数不定哦。A,B轮流取一个包,宝石放在cooker上,同种颜色的宝石达到S个时,就可以融合成一个魔法石,如果2*S个当然就可以融合成两个魔法石啦。某人在某轮获得了魔法石,可以接着再玩一轮,直到没有获得魔法石。A先开始。问A比B 最多能多多少个魔法石。A,B都采用最优策略。
B的值最...
分类:
其他好文 时间:
2014-04-29 13:46:21
阅读次数:
278
题意:有n样物品,每样物品价值是v,件数是m。尽量把这些物品分成两堆使得两边总价值最接近。输出分得的两堆各自的价值。
利用母函数法来解决,因为分成两堆,而两堆中较小的一堆最大为所有物品总价值量的一半,所以母函数的组合数上下就可以设置成总价值量的一半。求出所有的组合后,可以利用贪心的思想来得到答案,因为要求两堆之差尽可能小,所以就可以从总价值量的一半开始向小的方向找,找到最大的价值量,则另一堆的价值量就是总价值量-此堆的价值量。因为组合数可能较大,这里不记录组合种数,而是用一个标记来表示该数能否组合出即可。...
分类:
其他好文 时间:
2014-04-29 13:42:20
阅读次数:
302
Zhuge Liang's Mines
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1166 Accepted Submission(s): 505
Problem Description
In the ...
分类:
其他好文 时间:
2014-04-29 13:38:22
阅读次数:
368
Square Coins
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 7612 Accepted Submission(s): 5156
Problem Description
People in Sil...
分类:
其他好文 时间:
2014-04-29 13:38:21
阅读次数:
316
hdu 1047 高精度加法模板(用 string写的)...
分类:
其他好文 时间:
2014-04-29 13:28:21
阅读次数:
236
Constructing Roads In JGShining's Kingdom
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 14635 Accepted Submission(s): 4158
Proble...
分类:
其他好文 时间:
2014-04-29 13:21:21
阅读次数:
392