ACM_DP
文章平均质量分 87
JayYe
这个作者很懒,什么都没留下…
展开
-
SRM 585 DIV 1 总结
题意:给你一棵高度为H的完全二叉树的路,问最少需要多少辆车把这路走完,车子不能返回。那么最优的方案就是从小到上一层层的走完,就很容易地可以得到一种递推,需要注意的就是dp[0] = 1#include #include #include #include #include #include #include #include #include #incl原创 2013-07-22 11:37:54 · 898 阅读 · 0 评论 -
HDU 4896 Minimal Spanning Tree(矩阵快速幂)
题意:给你一幅这样子生成的图,求最小生成树的边权和。思路:对于i >= 6的点连回去的5条边,打表知907^53 mod 2333333 = 1,所以x的循环节长度为54,所以9个点为一个循环,接下来的9个点连回去的边都是一样的。预处理出5个点的所有连通状态,总共只有52种,然后对于新增加一个点和前面点的连边状态可以处理出所有状态的转移。然后转移矩阵可以处理出来了,快速幂一原创 2014-08-04 20:13:11 · 1656 阅读 · 0 评论 -
Codeforces Round #142 (Div. 1) (完全)
题目:http://codeforces.com/contest/229A:细节要处理好,乱搞B:题意:一个有权无向图,给出每个点限制的时刻,表示不能在该点限制时刻出发到其他点,求s到t的最短路。思路:直接跑dijkstra,点出队列的判断下该时刻是否为限制时刻,如果是,往上加直到不是即可。Code_BC:题意:给你一个完全图,Alice选了m条边,剩下的都原创 2014-01-15 01:28:51 · 1444 阅读 · 0 评论 -
Codeforces Round #219 (Div. 1)
A:排序后对半分贪心小的那一半放到大的那一半。B:dp[ i ][ j ][ k ][ l ]表示(i, j)为右下角 (k, l)为左上角的矩形里的good数量那么dp[ i ][ j ][ k ][ l ] = dp[ i - 1 ][ j ][ k ][ l ] + dp[ i ][ j - 1 ][ k ][l] - dp[ i - 1 ][ j - 1 ][ k ][ l原创 2013-12-14 14:59:47 · 882 阅读 · 0 评论 -
HDU 4248 A Famous Stone Collector (dp)
题意:给你一些不同颜色的石头,问选出一些石头排成一排总共有多少种不同排法,不同数量的石头视为不同情况,每个位置上的石头颜色都相同视为相同情况。解题思路:首先对于k个石头,有x种不同颜色石头,每种颜色石头分别有ki个,那么这k个石头排成一排总共有k!/( k1!*k2!*k3!..kx!)种情况数,所以可以设dp[i][j]表示选完前i种颜色石头总共选了j个石头的情况数状态转原创 2013-11-03 09:26:49 · 913 阅读 · 0 评论 -
HDU 3664 Permutation Counting (DP)
题意:问所有的n的排列中有k个ai > i的排列有多少种。解题思路:设dp[i][j] 表示i的排列中有j个ak > k的排列个数,状态转移方程就是:dp[i][j] = dp[i-1][j-1] * (i - j) + dp[i-1][j]*(j+1)对于第i个数 i,如果选择放在当前i这个位置,那么值不变,如果选择放在前面的ai > i 的那个位置上,则值也是不变的原创 2013-10-27 14:03:40 · 1226 阅读 · 0 评论 -
ZOJ 2630 Plane Partition(轮廓线 状态压缩DP)
题意:给你一个a*b的矩阵,往里面填充非负整数且满足x(i, j) x(i, j) 问最大的数字不超过c的填充方式有多少种。 0 解题思路:构造一个像插头DP那样的轮廓线,逐格递推DP。如下图红色的就是轮廓线,蓝色斜线的格子就是当前决策的格子,轮廓线以上的填充数字都已经确定了,而对轮廓线一下的数字的选择填充有影响的只有轮廓线以上的黄色斜线的格子,原创 2013-10-06 21:10:08 · 1775 阅读 · 0 评论 -
HDU 4055 Number String(不错的DP题)
题意:给你一个字符串s,s[i] = 'D'表示排列中a[i] > a[i+1],s[i] = 'I'表示排列中a[i] 比如排列 {3, 1, 2, 7, 4, 6, 5} 表示为字符串 DIIDID。解题思路:很巧妙的DP做法,dp[i][j]表示前i个满足字符串条件的结尾为j的 i 的排列,注意是i的排列,前面并没有数大于i。那又是如何往下递推呢?如果s[i -原创 2013-10-07 00:18:55 · 4253 阅读 · 0 评论 -
POJ 1322 Chocolate (dp or 组合数学母函数)
今天学了组合数学的母函数,发现其用处有时候真的会是很犀利原创 2013-08-10 19:50:04 · 1550 阅读 · 0 评论 -
DP(动态规划) 铺瓷砖类问题poj等oj列表
刷完搜索后刷这个!poj 2411poj 1038sgu 131sgu 132sgu 223sgu 225zoj 1346poj 3254poj 1185poj 3311hdu 3001poj 2288zoj 4257hdu 3681poj 2430poj 2436poj 2541poj 2836poj 1699poj 2288poj 2688poj原创 2013-08-07 12:23:28 · 4095 阅读 · 0 评论 -
poj 3252 Round Numbers 数位DP or 组合数学
POJ 3252题意 : 给你两个数 a 数位DP :刚开始这样搞得,dp[i][j],i代表第几个数 j代表可以弄几个0 ,被雷到了,就是搞不出,各种烦,后来改成dp[i][j][k],i代表几位,j代表前面有j个1,k代表前面有k个0组合数学 :首先对一个二进制有num位的数,首先处理出有num位的有多少个,然后处理出小于num位的数组合数原创 2013-06-05 13:52:02 · 1112 阅读 · 0 评论 -
HDU4949 Light (轮廓线dp)
题意:给你一个01矩阵,有两种操作:第一种: 把a(i,j)的周围四个都异或一下第二种: 把a(i, j)的周围四个和a(i,j)都异或一下求把矩阵变成全0矩阵的最少操作次数思路:如下图所示的轮廓线dp,逐格递推的,cur为当前决策的格子,红色线就是轮廓线,轮廓线以上的格子的操作状态都已经确定了,而对下面状态有影响的只有黄色格子,每个格子保存的是格子当前的数和它自己操作了多原创 2014-08-15 18:52:34 · 1820 阅读 · 0 评论