acm dp
文章平均质量分 68
alwayshere_
我是一只想讲故事的程序猿
展开
-
hdu 1024 dp
初看这道题的时候感觉好难啊,有好多种状态,完全无从下手,而且想从前i个数字分成m段开始dp,就是dp[i]代表前i个数字分成m段的最大值,然后就找不到状态转移方程了,其实一开始看错了题目要求,当成了相距m个位置的几组数和的最大值,真正的题意是:n个数字,分成m段,求最大值。 解法:dp[k][i]代表前i个数字分成段的最大值,那么对于第i个数字,有两种可能,即取到了第i个数字,没取到第i个数原创 2015-07-14 23:24:09 · 309 阅读 · 0 评论 -
poj3666 Making the Grade dp
题目大意:给你一个序列,把它变成单增或者单减的,求最小费用,费用的定义是原序列减去现序列相对应位置的绝对值,即|A[i] - B[i]|(1 思路:dp,二维的,dp[i][j]代表前i个数,最大的数为j的最小消耗,状态转移方程为dp[i][j] = min(dp[i-1][k]) + abs(j - a[i]),但是考虑到j比较大,需要对j的值转换一种思路,用j代表b[j],原创 2015-08-27 22:14:05 · 396 阅读 · 0 评论 -
hdu5135 Little Zu Chongzhi's Triangles 状压dp
前几天突然得知要去打一站区域赛,时间紧迫,只能拿前几年区域赛的真题来练习了。此题是2014年广州站第二水题,开始看错了题意,以为两个三角形可以有公共边,后来看了题解发现是两个三角形不可以有公共边状压dp,数据范围小,直接用1AC代码#include #include #include #include #include #include #include #inclu原创 2015-09-26 22:31:33 · 397 阅读 · 0 评论