![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动规
今天没吃药
这个作者很懒,什么都没留下…
展开
-
0-1背包
0 1背包0\ 1背包dcfdcf标签: ACM 算法 背包 动归 oj 所有 背包是一类典型的动归问题,有大神总结出来的背包九讲,0-1背包是其中的一种,也是最基本的一种。 之所以叫做 0-1背包是因为,这类问题中的每一件物体只有一件,放入背包与不放就构成了它的两种状态,0 代表不放,1 代表放入。Value (i,w) = Max( Value(i−1,w), Value(i−1, w−原创 2015-08-03 22:48:03 · 515 阅读 · 0 评论 -
HDU1003 - Max Sum (最大连续子串和)
解题思路 代码题目链接: HDU1003 - Max Sum解题思路最大连续字段和,方法很多,这里用一种 在线更新 的做法。 每读进来一个数,就与当前进行加和,并更新最大值信息,若和值小于 0 , 再从头开始。 其他方法也可以做(动规的思路),对这道题来说,需要注意的是 全负 的情况。代码#include <iostream> #include <cstdio>using namespace s原创 2015-08-30 01:42:19 · 486 阅读 · 0 评论 -
POJ2479 - Maximum sum (动规)
题目链接 : poj2479 - Maxinum sum思路 最大连续子列和 代码 思路题目要求的是,两段不相交的连续子列,使其加和最大。基础问题就是最大连续子列和,只要分别求得正序和逆序的最大和,然后枚举一边中间点,就可以得到结果。最大连续子列和解法有多种,这里用一种比较简单的动规的方法。 令 num[i]num[i] 表示序列中第 i 个数字, F(i)F(i) 为以第 i 个数字结尾的序列中原创 2015-08-30 01:39:40 · 379 阅读 · 0 评论 -
HDU1025 - Constructing Roads In JGShining's Kingdom (最长上升子序列)
题目链接思路 代码 思路这道题看上去就让人头大,但是仔细分析下。题目要求不能有交叉,例如 poor1poor1 对应 rich4rich4,那么 poor2poor2 对应 rich5rich5 及以后才算满足条件, poor3poor3 就要对应 poor2poor2 对应 richrich 的后面…… 其实就是将一列作为下标,在另一列里边找最长上升子序列的问题。PS:二分写起来太难受了,各种边原创 2015-09-01 23:10:43 · 310 阅读 · 0 评论