
-------------动态规划-------------
The___Flash
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Polygon (POJ - 1179,区间 DP)
一.题目链接 POJ-1179 二.题目大意: 给一个 n 边形,顶点为数值(整数),边为运算符(只包含 '+' 和 ‘*’ 两种) 现在让你删去其中的一条边 之后每次可以合并两个顶点,并且产生新的顶点,数值为原来两个顶点按照边上的运算符得到的结果 最终得到一个点 求点的最大值,并输出删去那条边可以得到最大值(若答案不唯一,则输出所有解) 三.分析: 思路与环形石子合并一...原创 2019-12-04 16:58:49 · 329 阅读 · 0 评论 -
背包九讲之背包第一讲--01背包
背包九讲之背包第一讲–01背包原创 2018-11-01 22:05:50 · 429 阅读 · 0 评论 -
Travelling (HDU - 3001 ,状压 DP)
一.题目链接: HDU-3001 二.题目大意: n 个点,m 条双向边. 之后 m 行 每行三个整数 a,b,c 表示第 i 条边的起点,终点,权值. 要求每个点都走到且不超过两次. 求最小花费. 三.分析: 一道状压 DP 模板题 状压 DP 入门 详见代码. 四.代码实现: #include <set> #include <map> #in...原创 2019-05-31 21:02:32 · 262 阅读 · 0 评论 -
To the Max( POJ - 1050,子矩阵最大和 模拟 || 降维 + 最大子段和)
一.题目链接: POJ-1050 二.题目大意: 给一个 n × n 的矩阵,求子矩阵的最大和. 三.分析: 第一种思路就是打表,然后用容斥求最大和. 详情请跳转最大子矩阵(HDU - 1559,前缀和) 复杂度: 第二种思路是枚举 起始行 和终止行 然后利用降维的思想,把两行之间的列向量和求出来,再求一下最大子段和取最大值即可. 复杂度: 四.代码实现: 思路...原创 2019-06-16 16:19:23 · 286 阅读 · 0 评论 -
序列变换 (HDU - 5256,Lis 应用)
一.题目链接: HDU-5256 二.题目大意: n 个数,问至少需要修改几个数,使得序列严格递增. ps:所有的数均为整数. 三.分析: 注意:是修改!!!(不是删除).因为这个WA到怀疑人生 因为要求序列严格递增 可得: 立即推: 移项可得: 于是,构造新数列 {b},使得 现在,问题转变为了求出序列 b 的最长非降序列长度 四.代码实现: #include &...原创 2019-07-25 09:21:32 · 149 阅读 · 0 评论 -
Inviting Friends (HDU - 3244,二分 + 完全背包)
一.题目链接: HDU-3244 二.题目大意: 有 n 种原料,每种原料有 6 个属性. x:每个人需要此原料的量 y:已有的量 s1:小包原料的数量 p1:小包原料的价钱 s2:大包原料的数量 p2:大包原料的价钱 现有 m 元,求最多的人数. 三.分析: 二分人数,check(mid) 函数里面对每种原料完全背包. 其中背包容量应设为 mid * x - y + s...原创 2019-07-25 11:02:11 · 354 阅读 · 0 评论 -
Mr. Young's Picture Permutations (POJ - 2279 ,线型DP)
一.题目链接: POJ-2279 二.题目大意: n 个学生拍照,排成 k 排,第 i 排有 n[i] 个人,第一排站在最后面. 学生编号为 1...n,身高依次递增. 排队满足,同一行从左到右身高递减,同一列从后往前身高递减. 问有多少种排列方式. 三.分析: 由于每行每列身高依次递减,所以我们可以按身高从高到矮一次考虑他们的位置. 在任意时刻,对于当前学生来说,他可以插入到第...原创 2019-08-31 17:09:58 · 347 阅读 · 0 评论 -
LCIS(算法竞赛进阶指南 P241,最长公共上升子序列)
一.题目链接: LCIS 二.题目大意: 给两个长度为 n 的序列 A,B. 求 A, B 的最长公共上升子序列长度. 三.分析: 令 dp[i, j] 表示 A[1 ~ i] 与 B[1 ~ j] 可以构成以 B[j] 结尾的 LICS 的长度. 当 A[i] != B[j] 时,dp[i, j] = dp[i - 1, j]. 当 A[i] == B[j] 时,想要计算 dp[...原创 2019-09-02 20:24:38 · 284 阅读 · 0 评论