![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dp
YOYCod
君子不器,成己达人
展开
-
hdu~1494 (dp)
http://acm.hdu.edu.cn/showproblem.php?pid=1494这题是道简单dp,输入跑道段数l,和圈数n,接着是每段跑道不用加速器时间a[],再接着是用了加速器所需时间b[]。这里可以看成是n*l段长度的路程,转移量为能量槽数,最大为14.具体看代码:具体看代码具体看代码:原创 2014-11-18 19:26:30 · 508 阅读 · 0 评论 -
hdu~1003(简单dp)
Max Sum求最大字段的和。用dp[i]存的是前i个数中,所选连续数的最优解(即和最大)dp[i]最大的数的位置为终止位置从尾部向前遍历,最前面的非负数为开始位置例如:3 -4 2 -1 3 对应的dp为 3 -1 2 1 5, 5所在位置为终止位置,2 所在位置为开始位置#include #define MAX 100000int原创 2015-04-14 17:21:47 · 517 阅读 · 0 评论 -
hdu~1422(简单dp)
重温世界杯用ans[i]存 生活费和话费之差类似求最大区间和注意路线是一个环。#include #define MAX 100000int ans[2*MAX+5];int dp[2*MAX+5];int main(){ int n; while(scanf("%d",&n)!=EOF) { int x,y; f原创 2015-04-14 17:34:54 · 649 阅读 · 0 评论 -
hdu~2217(简单dp)
visit题意:在x轴上,出发点在0的位置,给你一些其他点的位置,求在规定时间内能遍历最多的点的个数。其实个人觉得不会dp的人也能做,说是dp也算不上。以0为起点,负半轴为左边。1.先开两个数组l[],r[]存左右两边各点到0的距离。2.再开两个数组lm[],rm[]存以上述各点为拐点能遍历的最多点的个数。具体的还是看代码好理解:#include #inclu原创 2015-04-16 10:26:19 · 582 阅读 · 0 评论 -
最长公共子序列
求解:引进一个二维数组c[][],用c[i][j]记录X[i]与Y[j] 的LCS 的长度,b[i][j]记录c[i][j]是通过哪一个子问题的值求得的,以决定搜索的方向。我们是自底向上进行递推计算,那么在计算c[i,j]之前,c[i-1][j-1],c[i-1][j]与c[i][j-1]均已计算出来。此时我们根据X[i] = Y[j]还是X[i] != Y[j],就可以计算出转载 2014-08-21 10:02:57 · 1083 阅读 · 0 评论