
|--DP
Danliwoo
这个作者很懒,什么都没留下…
展开
-
愚人DP
一个月前写的,勉强上传存档……第一次接触DPPOJ 1163 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5当时并没有DP概念,正向思维,把每一层的所有状态全都算出来,再给下一层。题目是不难,但这个图对我的启示挺大。其中只有根是已知的,每个状态的转移方式也是已知的。 从根到叶是正向思维。顺次可以得到所有的儿子的状态。当所有状态数量是有限原创 2016-01-30 16:19:46 · 662 阅读 · 0 评论 -
HDU 5492 Find a path DP —— 2015 ACM-ICPC Asia Regional Hefei Online
原题见HDU 5492给一个N*M的矩阵,从(1,1)到(N,M)经过的格点分值分别为AiA_i,(路径只能向右或向下走,共N+M-1步)。求各种路径中最大的(N+M−1)∑N+M−1i=1(Ai−Aavg)2(N+M−1)\sum_{i=1}^{N+M−1}(A_i−A_{avg})^2.其中Aavg为Ai的均值A_{avg}为A_i的均值 N,M分别为1~30的整数,AiA_i为不超过30的整原创 2016-07-11 09:57:38 · 667 阅读 · 0 评论 -
CF 429B. Working out DP
原题见CF 429B给一个n*m的方格,A从左上角走到右下角,B从左下角走到右上角,路线交叉处的权值不算,问两条路线权值之和最大值。要求:两条路线只在一点交叉。分析可以枚举交叉点,求该点到四个角落的权值之和。到每个角的权值都可以dp得到最大值。从左上角顺时针得到0,1,2,3四个方向。一开始没注意到题意里的只在一点交叉,妥妥跪了。 CF题解里的图片灰常清晰 两幅图的权值之和分别是: dp[原创 2016-07-26 10:43:04 · 1363 阅读 · 0 评论 -
HDU 5135 Little Zu Chongzhi's Triangles 状压
原题见HDU 5135给n(n<13)条边,每条边只能用一次,拼成多个三角形,求三角形面积和的最大值。分析1~2122^{12}只有4096,对每个数二进制分解,第i位为1则用aia_i这条边。 预处理出所有的数位和为3的倍数的边。 d[i] i的二进制数位和 f[i] 用了i的二进制所表示的边后,可以组成的三角形面积的最大值。 如果d[i] = d[j]+3且i|j <= i(避免0被1与原创 2016-07-21 22:13:13 · 657 阅读 · 0 评论 -
NJOJ Hero 状态压缩觉悟题
仅以此题纪念我为数不多的状压DP。题意:有n*n的矩阵,选择其中的n个,使得和最大。且n个中任意两个不得在同行或同列。n<17.定义:逐行选择,并且用一个n位的二进制数表示各列的选择情况。比如00101表示已经选择了两行,第三列、第五列被选择了。 a[i][j]表示第i行、第j列的数值; F[s]表示状态s(用二进制表示)选取的最大值。递推关系:每个二进制状态从前几个相关状态转换而来。比如011原创 2016-03-06 18:09:50 · 817 阅读 · 0 评论 -
Codeforces 730 J. Bottles DP 0-1背包- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest
标签: 解题报告 DP原题见CF 730有n个瓶子,各有水量和瓶体积。把水从一个瓶倒到另一个瓶。首先要使得最后不空的瓶子数最少,其次要倒水量最少。求瓶子数和倒水量。分析确定瓶子数。 对瓶子的体积排序,前km个瓶子体积V恰好不小于总水量之和wt,则km即为最少的瓶子数。确定倒水量 dp[i][j][k]表示前i个瓶子选取k个(且第i个为所选第k个),使得k个瓶子体积和为j,可以容纳的最大水量。原创 2016-10-24 00:54:06 · 2201 阅读 · 0 评论