摘要: Sample Input 85 2 8 6 3 6 9 7 85 2 8 6 3 6 9 7 Sample Output 42 3 6 7 要求找出最长的上升子序列,然后输入子序列。 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int m 阅读全文
posted @ 2018-05-15 20:14 flyer_duck 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 73 88 1 02 7 4 44 5 2 6 5 求自顶向下的最大和。 还有一种更加简洁的写法,直接利用dp数组进行输出。 阅读全文
posted @ 2018-05-15 19:28 flyer_duck 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 最大子段和。 求一段连续的子段里面最大的值。 最大子矩阵和 求最大子矩阵的和,建立在最大子段和之上。 关键的思维转换:将子矩阵的上下行相加,加为一行,问题转化为求最大子段和。 阅读全文
posted @ 2018-05-15 19:22 flyer_duck 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 将背包分为n堆,每堆最多拿一个或者不拿。求最大的价值。 对于每一堆只能选一个或者不选,可以转化为01背包的问题。 阅读全文
posted @ 2018-05-15 18:24 flyer_duck 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 前面的限制条件只有背包的重量一个,二维背包讲的是约束条件有两个。 给出背包的体积和能承受的重量,要求满足这两个条件的时候,价值最大。 状态转移方程: 阅读全文
posted @ 2018-05-15 18:11 flyer_duck 阅读(500) 评论(0) 推荐(0) 编辑