HDU 5291(Candy Distribution-差值dp)】的更多相关文章

Candy Distribution 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5291 Description WY has n kind of candy, number 1-N, The i-th kind of candy has ai. WY would like to give some of the candy to his teammate Ecry and lasten. To be fair, he hopes that…
Candy Distribution Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 544    Accepted Submission(s): 214   Problem DescriptionWY has n kind of candy, number 1-N, The i-th kind of candy has ai. WY w…
题目链接 题意:\(n\)个木块放到两个塔里,每个木块可放可不放,使得两塔高度相同且高度最大,求最大高度. 这个差值\(DP\)的思维难度还是很大的,没想出来,我就打了一个\(dfs\)骗了好像\(20\)还是\(30\)分吧(看来搜索也写挂). 正解是\(DP\),\(f[i][j]\)表示前\(i\)块木块使得两个塔的高度差为\(k\)时高度最大的那个是什么(神奇的状态) 那么无非就\(4\)种情况: 1.第\(i\)块不放:\(f[i][j]=f[i-1][j]\) 2.第\(i\)块放到…
Candy Distribution Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 499    Accepted Submission(s): 189 Problem Description WY has n kind of candy, number 1-N, The i-th kind of candy has ai. WY w…
题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点.现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|.例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2.每个多米诺骨牌可以旋转180°,使得上下两个方块互换位置. 编程用最少的旋转次数使多米诺骨牌上下2行点数之差达到最小. 对于图中的例子,只要将最后一个多米诺骨牌旋转180°,可使上下2行点数之差为0. 输入输出格式 输入格式: 输入文件的第一行是一个正…
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5735 [题目大意] 给出一棵树,树上每个节点都有一个权值w,w不超过216,树的根为1,从一个点往根的方向走,可以得到他的祖先序列,现在需要从v1点的祖先序列中挑选出一定数量的点,组成数列v1,v2,v3……vm,要求vi是vi-1的祖先,求dp[v1]=max(dp[vi]+(w[v1] opt w[vi])),opt是一种运算,在题目中可为xor,or或者and,最后求出ans=sum_{i…
P1373 小a和uim之大逃离: https://www.luogu.org/problemnew/show/P1373 题意: 在一个矩阵中,小A和小B轮流取数,小A可以从任意点先取,小B后取,最后一步必须是小B取的.每次都是只能向下走一格或者向右走一个格子.问小B拿好后,两人拿的数值和是一样的情况数. 思路: DP,递推,感觉这道题比较难想的就是每个点要开一维记录两人不同差值的情况数.dp[i][j][h][l] 表示在点 (i,j),差值为h,小A还是uim取液体的方案数(0-->小A…
多校实在高能 题解链接 题意:有n中糖果,每种糖果有ai个.分给A,B两个人.两人的糖果要一样多,可以都是0,1......m个.同一种糖果没有区别. 问有几种分法. 定义dp[i]表示两人之间相差i个糖果的情况数.对每种糖果进行处理  *dp[i]表示新计算得到的dp值 当当前有ai个i种糖果时.处理*dp[j] *dp[j] = dp[j]*(ai/2+1) + dp[j-1]*((ai-1)/2+1) + dp[j+1]*((ai-1)/2+1) ............+dp[j-ai]…
题意:判断 n 件物品是否可以搬进洞里,每件物品有实际体积A和移动时的额外体积 B . 析:第一反应就是贪心,一想是不是按B从大到小,然后一想,不对,比如体积是20,第一个 是A=11, B=19.第二个是A = 1,B = 18.很明显不对. 我们取AB的差值,进行贪心,为什么呢? 我反过来想一下,假设我们把两个物品搬到洞中,所需要的洞的最小体积.第一个,A = 2,B = 10. 第二个,A = 5, B = 10.如果先放第一个,第放第二个,体积为12,如果反过来则是15,很明显是先放 差…
这道题和多米诺骨牌那道题很像 ,都是涉及到差值的问题. 这道题是二维的,同时要取模. 这种题,因为当前的决策有后效性,会影响到差值,所以直接把 差值作为维度,然后计算答案的时候把差值为0的加起来就行了. 这里有两个人,所以可以多设一维第一人还是第二人,来回更新. 然后取模的时候记得+k再模k #include<cstdio> #include<algorithm> #define REP(i, a, b) for(int i = (a); i < (b); i++) #def…