
dp
小悟空
这个作者很懒,什么都没留下…
展开
-
hdu 3698 Let the light guide us【线段树+dp】 2010 Asia Fuzhou Regional Contest
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=3698如果不考虑数据规模的话,这个题用dp是可以解决的,应该不难理解,但是这个题的数据很大然后的工作就是怎样优化的问题了线段树优化,我第一次遇到这种题,但是理解起来不是太难我在做的时候,线段树的延迟标记没有弄好,超时了好几次只说一点:题目中的要求 |j-k|≤f(i,j)+f原创 2011-11-28 18:39:32 · 1190 阅读 · 0 评论 -
hdu 2291 Five in a Row, Again
hdu 2291 Five in a Row, Again好几天了,这个题做完了一只没有总结,今天总结一下原题传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2291这个题我用的是状态压缩的dp,方法很笨,但是能ac,呵呵先看看我查这个题解题报告时觉得不错的一个资料,其中给出了五种解法:原文出自http://hi.baidu.com/原创 2011-08-26 09:26:13 · 1105 阅读 · 1 评论 -
DP 优化系列
我知道,我现在写这篇文章还很不成熟,因为我很多东西弄得还很不怎么样,但是我还是想写一下。国家集训队论文中有大量关于DP优化的论文:毛子青的《动态规划算法的优化技巧》、朱晨光的《从《鹰蛋》一题浅析对动态规划算法的优化》、杨哲的《凸完全单调性的一个加强与应用》等。特别是毛子青大牛的论文,值得一看!还要说明的是,周源的《浅谈数形结合思想在信息学竞赛中的应用》一文,谈到了数形结合、单调队列、和下凸折线原创 2012-08-22 11:19:54 · 3737 阅读 · 0 评论 -
zoj 3662 Math Magic 【dp】【2012 长春现场赛】
题目大意:问有多少组满足,个数为k个,和为n最小公倍数为m解题思路:首先我想到这个可能是dp,状态为前i个数组成和为j最小公倍数是k的方案数,但是这个时间复杂度和空间复杂度都很高。最后我的优化是将最小公倍数这个状态改变一下,事实上可以用到的数并不多,最多也就32个,(eg:10: 1 2 5 10)这样的话,我就解决了问题.但是我写的总是超时,后来分析了很久,原来这个其实最大的一组数据状态原创 2012-10-16 21:25:10 · 1099 阅读 · 1 评论 -
UVALive 4725 Airport 【DP】
题目连接该题的dp状态是dp[i][j] 表示前i时间第一个停机坪有j个飞机飞出时的最大值。由于只有两个停机坪,所以选择的第一个的只确定了,那么第二个也就确定了。当然,本题还存在飞机不够飞的情况,这个可以提前处理点(0,0 且前面的飞机都飞光了)仔细想想 虽然麻烦点,但是并非不可解。#include #include #include using namespace std原创 2012-10-19 21:30:51 · 1188 阅读 · 0 评论 -
UVALive 4844 String Popping【记忆化搜索】
题目大意:给定一个a、b构成的字符串,每次可以消去长度不小于2的连续相同字符,问给定字符能否消成空串。思路:首先我的思路就是搜索,当然暴搜的话超时。然后我就想着记忆搜索的状态,让状态变少!我记录的状态时:剩余字母的数量和ab变成01后二进制数值,打包成pair#include#include#include#include #include using namespace原创 2012-10-19 21:06:02 · 1251 阅读 · 0 评论 -
UVALive 4847 Binary Search Tree【树型dp】
题目大意:给定一个1-n的排列,依次将这些数插入到二叉排序树中,问总共有多少个排列使得构成的二叉树和给定的排列构成的二叉树相同本题的思路就是:先构成要求的二叉排序树,然后再在树上进行dp状态转移为:dp[rt] = dp[lson]*dp[rson]*c(lson,sum);lson 表示左子树的点的个数,sum表示左右子树点的个数之和。c(a,b) 表示b中过选择a个的组合数。状原创 2012-10-19 21:16:29 · 1093 阅读 · 0 评论 -
hdu 4248 A Famous Stone Collector【DP】【Fudan Local Programming Contest 2012 D】
题目大意:给n堆不同颜色的石头,给定每堆石子的数量,问,能够组成多少串满足:Two patterns are considered different, if and only if they have different number of stones or have different colors on at least one position.解题思路:开始的时候没有思路,原创 2012-11-08 10:17:20 · 1246 阅读 · 0 评论 -
hdu 4249 A Famous Equation【DP】【Fudan Local Programming Contest 2012 E】
题目大意:给一个a+b=c的表达式,但是a、b、c中部分位的数字丢失,并用?代替,问有多少种方案使得这个表达式成立。这个应该也属于动态规划的思想。其实思路还是比较较简单的。当低位进的数,和向高位进的数确定了,那么使得本位的等式成立的状态最多可以用10^3的时间复杂度确定。有了这个子状态,问题就好解决了。代码写的比较挫,贴别是枚举的时候,特别的繁琐。注意不能有前导0,但是只有一位原创 2012-11-08 10:26:27 · 1427 阅读 · 0 评论 -
The 35th ACM/ICPC Asia Regional Hangzhou Site —— Online Contest hdu 3646 Fate Stay Night
原题传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3646前几天同学老是说我的博客里总说什么简单,水题之类的,他们都看不懂,事实上开始的时候我也不懂,但是明白了之后就觉的自己太傻,好吧,今天的这个题确实不简单!算是比较难的,因为我看了好久,并不是因为同学的说!这个题的特点是状态为二维,但是每一个状态又必须记录一个量!这个是我第一次做!好吧,我见原创 2011-08-30 12:39:01 · 1056 阅读 · 0 评论 -
zoj 3211 Dream City 动态规划
原题连接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3211这个是我看到的很经典的动态规划问题,状态转移很经典啊解题思路: 一颗斜率(b)小的树,如果这次不用,那么他再也不会用到了。我是这么理解的……这样的话,就产生了一个顺序,也就是可以dp的顺序我表达的不好,如果还是不懂,看代码吧,看完了就懂了原创 2011-11-05 18:17:08 · 1631 阅读 · 0 评论 -
大连网络赛 即 hdu 4003 Find Metal Mineral
大连网络赛 即 hdu 4003 Find Metal Mineral这个题目我觉得应该可以做的,但是由于当时没看这个题,结果没做,现在看看,如果有时间,而且自己的状态非常好的话,也许是可以做出来的, 下面的代码是从网上掏的,自己最近没状态,懒得敲,先放在这儿供大家参考,/*题意:一棵有权树,从根结点中放入K个机器人,求用这K个机器人遍历所有的结点最少的权值和分析:dp[i][原创 2011-09-05 18:59:06 · 3384 阅读 · 0 评论 -
zoj 2912 hdu 2376 Average distance 树形
题目大意:求出任意两点之间的距离,并求其平均值这个题我们是在组队训练的时候做的,看到这个题,队友马上就给我了,简单,但是由于数据类型的选择,和精度的问题,我们到最后都没有A,可惜啊,这是比较简单的一个题,有了思路就好办了,但是,不提了,分析题目吧看到这个题的时候可能无从下手,当想到每条边用多少次之后就比较简单了,一条边用的次数是其左边点的个数乘以右边点的个数,简单了吧,我用的是树的邻接原创 2011-08-26 10:17:46 · 1365 阅读 · 0 评论 -
hdu 2292 Minimum Heap 动态规划
原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=2292这个题原来第一次读我以为是数学解决,后来一直想不出来听说是动态规划才想明白,由于这个题中只有1000个点,所以数组我开的很大当对一颗子树进行编号的时候,不管是哪些数字,编号方案树都是一样的都是一样的,没有区别,所以对于每一个点,他的方案树就是其两子树的方案数之积 乘以 将其所有子树中节原创 2011-08-24 19:08:11 · 782 阅读 · 0 评论 -
2011 Multi-University Training Contest 10 - Host by HRBEU hdu 3933 Dark Parth
这是一个动态规划的题,开始的时候状态找的还不错,但是边界控制的不是很好,wa了一会儿……原题传送门:http://acm.hdu.edu.cn/showproblem.php?pid=3933】源码:#include #include #include using namespace std;int dp[1010][110];int sum[1010];int main原创 2011-08-30 15:31:14 · 675 阅读 · 0 评论 -
2011 Google 杯 上海邀请赛 Juice Extractor
原题: UVA - 12018Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu [Submit] [Go Back] [Status] Description原创 2011-08-27 19:59:53 · 952 阅读 · 0 评论 -
zoj 2915 hdu 2397 Dice Password Security 动态规划
zoj 2915 hdu 2397 Dice Password Security 动态规划原题传送门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2915 http://acm.hdu.edu.cn/showproblem.php?pid=2379 这个题,应该是个简原创 2011-08-27 15:16:41 · 996 阅读 · 0 评论 -
hdu 2294 Pendant (动态规划+矩阵) 解题报告
hdu 2294 Pendant (动态规划+矩阵) 解题报告原题传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2294还是推荐一个我觉得不错的解题报告吧,虽然其中有几处错误,但是这个解题报告还是值得一看的出处地址:http://blog.sina.com.cn/s/blog_5f5353cc0100hq81.html本题从表面上看是原创 2011-08-26 09:53:47 · 1300 阅读 · 0 评论 -
hdu 4118 Holiday's Accommodation 2011 Asia ChengDu Regional Contest
hdu 4118 Holiday's Accommodation 2011 Asia ChengDu Regional Contest原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=4118解题思路:这个题的数据规模是N 然后我就是递归写了一个搜索树的算法,但是,结果返回爆栈。我知道这个是由于递归的太深了,造成系统的栈无法承受,原创 2011-11-14 12:38:11 · 1473 阅读 · 0 评论 -
SGU 407-Number of Paths in the Empire【DP】
题目大意:如图,给定n个点形成环,中间一个点0,每个点到0连一条边,问从0开始,经过m条边有多少条路径使得回到0点,每个点每条边都可以经过多次。输出路径数思路:这个题目如果不考虑数据规模的话,用矩阵乘法可以解这个题,详见矩阵的十种应用,那个适用于100个点的任意图。这个题n这个题并没有把结果取余,哎,这样的话,答案就是个好几千位的数了。囧。。。时间复杂度还得算上两个数相加的时间!!原创 2012-11-07 10:54:51 · 976 阅读 · 0 评论