普通dp
JW_7066
这个作者很懒,什么都没留下…
展开
-
hdu 1081 To The Max(最大子矩阵和,dp)
题目连接:http://http://acm.hdu.edu.cn/showproblem.php?pid=1081 一维最大和求法 for(int i=0;i<len;i++) { if(sum<0) sum=0; sum+=a[i]; maxn = max(maxn,sum); }二维类似 #include #include #include #include #inclu原创 2015-06-28 11:00:48 · 564 阅读 · 0 评论 -
codeforces 712D. Memory and Scores(dp)
D. Memory and Scores time limit per test 2 seconds memory limit per test 512 megabytes input standard input output standard output Memory and his friend Lexa are competi原创 2016-09-14 16:21:00 · 775 阅读 · 0 评论 -
玲珑oj 1032A-B(组合数学)
1032 - A-B Time Limit:1s Memory Limit:128MByte Submissions:528Solved:105 DESCRIPTION 你有nn个球,需要把他们放到mm个盒子里。要求拥有最多球的盒子唯一,问方案数。 INPUT 一行两个数n,mn,m.(n,m≤500n,m≤500) OUTPUT 一行一个数,表原创 2016-09-15 11:10:12 · 779 阅读 · 0 评论 -
codeforces 629D-Babaei and Birthday Cake(dp && 线段树或树状数组离散优化)
题目链接:【codeforces 629D】 HDU1087的升级版 有n个圆柱形的蛋糕,已知每个蛋糕的半径r和高h,将这n个蛋糕叠起来,第i个蛋糕能放在第j个蛋糕的上面(1第j个蛋糕的体积,问最终叠成的蛋糕的最大体积 dp[i] = max(dp[j], 1 用线段树记录第i个蛋糕之前满足条件的的最大dp值 将从小到大排序后的体积的序号作为线段树的下标,没访问一次vol[i],就把原创 2016-02-22 12:34:55 · 546 阅读 · 0 评论 -
HDU 1069 Monkey and Banana(dp)
题目链接:【HDU 1069】 有n(n 一种盒子一共有6种叠加的方式,长宽分别为xy、yx、xz、zx、yz、zy 最多只需要6*n个盒子叠加起来,将这6*n个盒子按照长宽从小到大排序,然后简单dp一下就能得到答案 #include #include #include #include #include using namespace std; int len, dp[200]原创 2016-02-20 22:21:39 · 379 阅读 · 0 评论 -
HDU 1024 Max Sum Plus Plus(普通dp && 滚动数组优化)
题目链接:【HDU 1024】 输入n(1 dp[i][j]:前j个数,i段能得到的最大的和(dp[i][j]一定包括arr[j]) 转移方程式就可以表示成: dp[i][j] = max(dp[i][j-1]+arr[j], max(dp[i-1][k])+arr[j]) (i 那么代码就可以写成这样: #include #include #include #include原创 2016-02-20 21:00:47 · 455 阅读 · 0 评论 -
CodeForces 361D Levko and Array(二分+dp)
题目链接:【CodeForces 361D】 输入一个大小是n的数列,最多可以改变其中的k个数值,问最终max(abs(a[i+1] - a[i])(1 相邻差值的最小值跟最大值都能求出来,二分相邻差值 dp[i]表示当a[i]不变时,最多有多少个a[j](1 当相邻差值是x时,如果abs(a[i]-a[j])x,否则就是 相邻差值最大是x ==> a[i]跟a[j]之间最大的差值是(i原创 2016-02-19 22:41:18 · 912 阅读 · 0 评论 -
二叉树的递归遍历(dp)
已知先序遍历跟后序遍历,求这样的二叉树的个数 对于一条链来说,先序跟后序的区别就是正着念跟倒着念的区别,利用这条性质,不停的将先序遍历得到的串去掉第一个后进行划分(同时后序遍历得到的串去掉最后一个) #include using namespace std; const int N=30; int dp[N][N][N][N]; char x[N], y[N]; int dfs(int la原创 2016-03-01 22:58:12 · 636 阅读 · 0 评论 -
codeforces 572D Minimization
题目链接:http://http://codeforces.com/problemset/problem/572/D 当k=1的时候,从小到大排序求相邻差值的和,那就是最小值 当k>1的时候,先看个例子 数列1 4 5 8 10 k=2 那么相邻的差值之和就是10 那么可以分成2个数字一段,3个数字一段 如果结果是1 4 5 8 10 最终的差值和就是10-原创 2015-09-18 21:29:55 · 668 阅读 · 0 评论 -
HDU 5303 Delicious Apples(dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5303 题意: 在一圈长为l的圆圈周围种了n棵苹果树 有一个容积为k的篮子 圆圈的原点是0,顺时针方向记录了苹果树的位置以及苹果的数量 将苹果全部摘完,最少需要走多少路 篮子装满就必须走回原点 解题思路: 算出总的苹果数量 dp[ i ][ j ]表示的是摘了j个苹果时所走的最原创 2015-07-24 22:43:46 · 644 阅读 · 0 评论 -
codeforces 721C. Journey(dp+拓扑)
C. Journey time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output Recently Irina arrived to one of the most famous原创 2016-10-01 16:13:01 · 573 阅读 · 0 评论