![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 73
北狗最光阴1
这个作者很懒,什么都没留下…
展开
-
HDU 2015 Constructing Roads In JGShining's Kingdom
不得不说,自己真的很水。这题一开始用动态规划写,可是超时了,然后上网查了一些,原来还有更简单的方法,就是最长递增子序列的O(nlogn)的方法,看完之后,才如梦初醒,原来如此。还有不得不说这题的输出,真的是坑爹坑到家。被他坑了无数次。http://blog.csdn.net/joylnwang/article/details/6766317(可以看这个博客的介绍,当然有很多博客可以看啦)原创 2015-01-07 12:30:39 · 358 阅读 · 0 评论 -
POJ 2264 Advanced Fruits(最长公共子序列)
这题要用到最长公共子序列,又是DP,可是不会,于是就去学这个,看了一会儿,终于有点心得了。主体思想就是先求出最长公共子序列,然后把公共字符之前的所有字符都合并起来。具体请看下面的注释。#include#includeconst int N=105;char s1[N],s2[N],s[N*2];int lcs[N][N],index1[N],index2[N];//index和in原创 2015-01-08 22:54:57 · 558 阅读 · 0 评论 -
HDU 1087 Super Jumping! Jumping! Jumping!
动态规划题目做的真的很少,自己也不太熟练,这题也是连蒙带猜才弄出来。dp[i]表示以data[i]结尾的最大分数,那么状态转移方程为:dp[i]=max(dp[j]+data[i],data[i])(0#include#include#include#include#include#include#includeusing namespace std;const int N原创 2015-02-04 22:17:11 · 423 阅读 · 0 评论 -
POJ 2193 Lenny's Lucky Lotto Lists
这题开始的时候,我使用DFS去做的,可是写完之后,发现超时,当我用10,2000去测试时,等了半天没出结果,超时超哭了。结果看别人怎么做的,别人用DP来做的,于是就在那里想怎么用DP来做。自己就是个DP渣渣,想了半天没出来,看别人用一个数组a[k][i]来存储,于是又在那里琢磨,用这个干什么,在草稿纸上画了半天,终于写出来了。zhuti原创 2015-01-04 00:08:33 · 403 阅读 · 0 评论 -
HDU 1003 Max Sum
这题一看就想到用dp来做,至于为什么我也不知道。其dp的思想也比较简单,不过自己写的有点复杂了,看了网上的题解才知道自己是那么的弱。这个是我的代码:#include#include#include#includeusing namespace std;const int N=100005;int dp[N],s[N],e[N],data[N];int main(){原创 2015-01-23 18:02:11 · 493 阅读 · 0 评论 -
POJ 1579 Function Run Fun
这题时简单的dp题,不过我也就能写写这样简单的题了,不过注意一点。没什么说的,直接按照题目顺序就可以了。#include#include#include#include#include#include#includeusing namespace std;int dp[21][21][21];int recursion(int a,int b,int c){ i原创 2015-03-10 21:47:02 · 611 阅读 · 0 评论