随笔分类 -  动态规划——dp优化

摘要:经典的石子合并问题,代价w(i,j)满足四边形不等式的性质,所以可以通过决策的单调性求解 代码: #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int N = 500; int f[N 阅读全文
posted @ 2020-08-05 12:03 WA自动机~ 阅读(216) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.acwing.com/problem/content/description/306/ 给出n行字符串,现在将其排版,定义一个不协调度,dp中只需要记录阶段为前i个句子已经排好版,不需要记录排了多少行。通过dp进行转移之后发现如果用朴素算法一定会超时。 经过对代价函 阅读全文
posted @ 2020-08-05 10:47 WA自动机~ 阅读(280) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.acwing.com/problem/content/305/ 题目给出n坐山,m只小猫,每只小猫到山Hi去玩Ti小时,两座山之间的距离已知,现在有p个饲养者去带这些猫回家,他们只能在猫玩了Ti小时之后才能接到她,小猫玩完就会等待来接,问这些小猫的总的等待时间最少是 阅读全文
posted @ 2020-08-04 12:16 WA自动机~ 阅读(192) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.acwing.com/problem/content/description/302/ 给出n个任务,每个任务需要T[i]的时间完成,在第j个时间完成的代价是C[i],任务分批完成,每一批的完成时间是一样的,每个批次都有一个S的启动机器的时间。 问完成这些任务所需要 阅读全文
posted @ 2020-08-04 10:32 WA自动机~ 阅读(194) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.acwing.com/problem/content/description/6/ 通过单调队列优化多重背包,从第i-1阶段向第i阶段过渡,将所有可能的决策包含在单调队列中,队列中维护的是一个递减的决策集合,对应的函数值也是递减的,及时去除不可能是最优的解。 在O( 阅读全文
posted @ 2020-08-03 12:58 WA自动机~ 阅读(178) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.acwing.com/video/864/ 给定一个长度为n的序列,问将这个序列分成连续的若干段,每段不超过M的情况下,每段的最大值之和最小是多少? 如果数据范围比较小的话就可以不进行任何优化,用dp[i]表示将[1,i]分成若干段满足条件的情况下每段最大值最小的情 阅读全文
posted @ 2020-08-03 10:51 WA自动机~ 阅读(195) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://poj.org/problem?id=1821 题目给出长度为N的线段,需要m个人去覆盖,每小段可以覆盖也可以不覆盖,没人都可选择覆盖和不覆盖,如果覆盖的话一定要覆盖Si,而且长度不能超过Li,每一段的报酬是Pi,问最高多少报酬。 显然状态就是前i个人覆盖前j段。转移的初始状 阅读全文
posted @ 2020-08-03 08:32 WA自动机~ 阅读(116) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5542 求一个长度为n的序列的长度为m的严格上升子序列的数量,dp的状态是前i个数中长度为j的严格上升子序列且以第i个数结尾的决策数量。 转移方式:长度为i-1向长度为i转移,枚举位置比它小而且值比它小的 阅读全文
posted @ 2020-08-02 12:01 WA自动机~ 阅读(156) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.acwing.com/problem/content/298/ 题目给定一个长区间[m,e]和一些短区间,短区间上有花费,问覆盖长区间的最小话费是多少? 通过dp可以在最少区间数模型上进行修改,转移的时候算上的是花费值,最后用线段树维护一下区间最小值即可。时间复杂度 阅读全文
posted @ 2020-08-02 10:59 WA自动机~ 阅读(124) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.acwing.com/problem/content/297/ 给定区间长度,和n个区间,问最少多少个区间能够覆盖[1,m]长度的区间。 dp状态:到i位置覆盖了[1,i]需要的最少区间数量,转移方程是:先找所有右端点是i的区间,其左右端点分别是l,r,那么f[l- 阅读全文
posted @ 2020-08-02 10:17 WA自动机~ 阅读(128) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.acwing.com/problem/content/description/296/ 定义conn(s,n)表示由n个s拼接的字符串,问最大的m满足conn(s2,m)能通过conn(s1,n)生成,生成就是去掉一些位置的字符之后能够变成s1。 通过倍增的思想,可 阅读全文
posted @ 2020-08-02 08:56 WA自动机~ 阅读(171) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.acwing.com/problem/content/295/ 题目给定n个城市,在一个方向上有序排列,每个城市有高度,有两个人a,b,定义两个城市之间的距离是高度之差的绝对值。b只会选择右边距离他最小的一个作为下一个点,a只会选择右边次小的点作为下一个点。a先走。 阅读全文
posted @ 2020-08-01 18:00 WA自动机~ 阅读(191) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示