码迷,mamicode.com
首页 >  
搜索关键字:dp    ( 24588个结果
插头DP小结
首先是CDQ《基于连通性状态压缩的动态规划问题》论文上的题目:URAL 1519 Formula 1 #include 2 #include 3 #include 4 using namespace std; 5 const int maxn = 15; 6 const int H...
分类:其他好文   时间:2014-05-12 08:14:39    阅读次数:433
HDU 4283 You Are the One (区间DP)
题意:有 n 个人,每个人有一个diaosi值a[i],如果第 i 个人排在第 k 位置,则他的愤怒值就为a[i]*(k-1); 过程中有一个黑屋子,可以把人暂时放到黑屋子里。 求总的愤怒值最小; 区间DP:对dp[i][j],我们考虑i到j的(j-i+1)个人,对于第i个人我们可以假设他在第k个位置,则前面就有k-1个人在他前面,j-k个人在他后面,所以dp[i][j]=m...
分类:其他好文   时间:2014-05-12 07:02:55    阅读次数:275
UVA 10253 - Series-Parallel Networks(数论+计数问题+递推)
题目链接:10253 - Series-Parallel Networks 白书的例题。 这题也是需要把问题进行转化,一个并联可以分为几个串联,然后串联可以分成边。 如此一来,最后叶子结点种数会是n,问题转化为去分配叶子结点,使得总和为n。 书上有两种方法,一种直接去递归,利用组合数学的方式去计算答案。 一种是推出递推式: 设dp[i][j]为一共j个叶子结点的树,子树的叶子最多的为i...
分类:Web程序   时间:2014-05-12 06:22:04    阅读次数:447
leetcode第一刷_Word Search
这道题之前一直没敢做,没想到前天用递归一遍过了。。 当时为什么想着用递归,而不是dp呢,因为我想到达某个位置的情况有很多,即使从当前位置开始的搜索是已知的,但之前的状态是怎样的也无从得知啊,实话实说,我是不会用dp解这个。。 递归的思路就好说多了,从当前点开始,有上下左右四个位置可以探测,如果探测成功的话,要把当前的位置用其他符号标记出来,以免重复访问。实际上就是DFS嘛,只不过入口多一些。 ...
分类:其他好文   时间:2014-05-11 14:20:56    阅读次数:321
UVA 11038 - How Many O's?(计数问题)
题目链接:11038 - How Many O's? 题意:求[a.b]之间,0出现的次数。 思路:一开始一直往数位DP上去想,结果发现挺复杂的。。 把问题先转化为求0 - num的个数,在用到b的个数减去到a的个数 其实只要利用计数的乘法和加法原理,把数字对应的每一位的分成左右两边,利用乘法原理求总数,在用加法原理把所有的总数加起来就是总情况数。那么讨论一下分成两边的情况。举个例子 比...
分类:其他好文   时间:2014-05-11 13:16:13    阅读次数:282
UVA 1362 - Exploring Pyramids(计数问题+区间DP)
题目链接:1362 - Exploring Pyramids 白书上的例题,思路是对于每个结点,往后遍历分为左右两边子树来考虑,左边的子树为去掉根节点剩下的子树,而右边是要算上根节点的,这样就不会有重复的情况出现,然后根据乘法原理,左右两边情况相乘为总情况数,然后计算这些总和。  f[i][j]表示[i,j]结点的情况种数,那么 f[i][j] = sum{f[i + 1][k - 1] * ...
分类:其他好文   时间:2014-05-11 07:02:11    阅读次数:277
UVA 11361 - Investigating Div-Sum Property(数位DP)
题目链接:11361 - Investigating Div-Sum Property 白书上的例题,不过没有代码,正好前几天写了一题数位DP的题目,这题也就相对轻松了。 dp[i][x][y]表示加到第i位,数字 % k,数位和 % k的组合情况数,那么现在要添加一个0 - 9的数字上去状态转移为 dp[i + 1][(x * 10 + num) % k][(y + num) % k],计...
分类:其他好文   时间:2014-05-11 05:23:33    阅读次数:316
ZOJ - 1880 Tug of War
题意:求在两边人数不相差超过1个的情况下,实力尽量相等的情况 思路:从实力和的一半开始类背包操作 #include #include #include #include using namespace std; const int MAXN = 45010; const int MAXM = 110; int a[MAXM]; int dp[MAXN][MAXM]; int n; ...
分类:其他好文   时间:2014-05-11 05:02:03    阅读次数:279
leetcode第一刷_Edit Distance
最小编辑距离,很经典的问题,今年微软实习生的笔试有一个这个的扩展版,牵扯到模板之类的,当时一行代码也没写出来。。 dp可以很优雅的解决这个问题,状态转移方程也很明确。用pos[i][j]表示word1的前i个字符与word2的前j个字符之间的编辑距离。如果word[i-1]与word[j-1]相等,那pos[i][j]与pos[i-1][j-1]相等,否则的话,根据编辑的几种操作,可以从三种情况...
分类:其他好文   时间:2014-05-11 04:56:00    阅读次数:301
嵌套矩形 DAG上的dp(深搜+dp)
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=16 矩形嵌套 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。...
分类:其他好文   时间:2014-05-11 02:31:48    阅读次数:333
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!