动态规划
PK__PK
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2018暑期牛客网多校第二场签到题---DP+打表
牛客网的多校比赛比较有意思。题目是私有的没法公开,就很无语,没办法让大家去试试交题。那么只能我分享题意和解法。 题意:一个人有两种行动方式,走或者跑,走一次走一米,跑一次跑k米。但是不能连续的跑。意思为必须跑一段之后走一米,才能接着跑。问这个人到L,R这个闭区间的方式有多少种。n次询问。n小于1e5.结果取模1e9+7.起始位置为0. 题解:这道题,有点类似于上楼梯的题,就是一次走两步,或者走...原创 2018-07-23 10:09:50 · 284 阅读 · 0 评论 -
Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3) C - Playing Piano(DP)
题目链接:http://codeforces.com/contest/1079/problem/C 题意:给你一个长度为n的序列a,根据序列a,按照如下要求构造序列b: 1:若a【i】 > a【i+1】 则,b【i】 > b【i+1】 1:若a【i】 < a【i+1】 则,b【i】 < b【i+1】 1:若a【i】 = a【i+1】 则,b【i】 != b【i...原创 2018-11-21 15:12:08 · 801 阅读 · 0 评论 -
51NOD 1636 教育改革 (DP+思维)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1636 题意: 题解:根据题意,很容易写出DP【i】【j】表示第 i 天,作业量为 j 的最大的总作业量。但是 j 为1e16很大,空间爆炸。所以需要想办法,把每天的作业量表示出来。根据数据可知,每天的作业量的最大值最小值不超过100,根据这个条件。我们显然能...原创 2018-10-08 18:54:51 · 291 阅读 · 0 评论 -
AC Challenge (状压DP)
题目链接:https://nanti.jisuanke.com/t/30994 题意:有n道题目,每道题目有两个值,a,b。若 你在 t 分钟时做了某道题,那么你会获得 a * t + b的分数。但是做某道题时,有限制条件,你想要先做完了另外一些题目才能做这道题。比如 在做第三题时,第三题要求必须先做完第一题和 第二题,那么你要想做第三题 必须先做完第一题和第二题,问如何做题才能最后分数最大。 ...原创 2018-09-11 09:26:28 · 370 阅读 · 0 评论 -
BE, GE or NE ACM-ICPC 2018 徐州赛区网络预赛 (记忆化搜索)
题目链接:https://nanti.jisuanke.com/t/31454 题意:两个人玩游戏,轮流操作,每次操作有三个选项,当前值+x,当前值-x,当前值变成相反数。然后还有一个区间【L,R】,若第最后得分大于等于R,第一个人赢,小于等于L 第二个人赢。否则平局。问最后谁获胜。 题解:记忆化搜索。定义dp【i】【j】为第 i 轮等分为 j 的胜负状况。然后看代码即可 #include...原创 2018-09-16 19:02:49 · 237 阅读 · 0 评论 -
HDU 1257 最少拦截系统 (单调递减子序列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1257 题意:中文题意,不翻译 题解:设dp【i】为第 i 个单调递减子序列的最小值,每次输入一个值,若有a < dp【i】,就更新dp【i】,若没有就让单调递减子序列的数量+1. 看代码: #include<bits/stdc++.h> using namespace st...原创 2018-08-13 16:59:27 · 514 阅读 · 0 评论 -
HDU 1260 Tickets(简单DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1260 题意:电影院早上八点开始买票,有n个人来买,给你一次性卖给一个人的时间花费,和一次性卖给两个人的时间花费。问最早什么时候电影院能下班。 题解:dp【i】定义为 到第 i 个人 的最下时间花费。 那么dp【i】 = min(dp【i-1】 + 卖给一个人的时间,dp【i-2】+ 卖给两个人的...原创 2018-08-13 16:29:25 · 284 阅读 · 0 评论 -
HDU 1176 免费馅饼 (简单DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1176 题意:中文题意不解释 题解:定义DP【i】【j】 为 第 i 秒 在 j 位置接到东西的最大值。 所以转移方程为 DP【i】【j】 = max (DP【i-1】【j】,DP【i-1】【j-1】,DP【i-1】【j+1】)+ a【i】【j】 因为能移动距离为1的位置,所以比较好推出来。不...原创 2018-08-13 16:10:31 · 195 阅读 · 0 评论 -
HDU 1114 Piggy-Bank (DP(完全背包))
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114 题目链接:给一个初始重量和结束重量的存钱罐,然后有一些钱币有价值和重量,问存钱罐里面最小价值的钱为多少 题解:完全背包,只不过求个最小值,DP【n】初始化个INF。 DP【i】 表示重量为 i 的时候价值的最小值。 然后 DP【j】 = MIN(DP【j】,DP【j-w【i】】 + v【...原创 2018-08-08 11:17:02 · 254 阅读 · 0 评论 -
HDU 1087 Super Jumping! Jumping! Jumping! (DP(LIS))
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 题意:给你n个数,求n个数的最长上升子序列的和的最大值。 题解:简单的DP ,定义dp【i】为以num【i】结尾的最长上升子序列和的最大值。 然后 看代码把 #include<bits/stdc++.h> using namespace std; const int max...原创 2018-08-07 15:56:22 · 212 阅读 · 0 评论 -
HDU 1074 Doing Homework (状压DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 题意:按照字母从小到大的顺序给你n们功课的名字,每一门功课有截至的时间,有花费的时间,若做功课的时间超过截至时间1天,就会扣一分。求一个最小扣分,和做功课的顺序。顺序要求字典序最小。 题解:这道题,状压DP来解决。这点好想。因为功课只有最多有15门,所以状态一共只有 1 << 1...原创 2018-08-07 15:16:46 · 256 阅读 · 0 评论 -
HDU 1069 Monkey and Banana (DP(最长上升子序列变形))
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069 题意:给n种长方体,每种有无限个,让你把这些长方体摞起来。要求下面的比上面的长宽要大。求一个摞起来的最高高度。 题解:这道题,无限个长方体,其实没什么用。因为每种长方体能变成6个长方体。因为下面的长宽要比上面的大,所以相等的长宽是没用的。每种长方体也就只有6中情况。那么我们问题就变成了,6*...原创 2018-08-07 12:16:25 · 257 阅读 · 0 评论 -
HDU 1024 ~ Max Sum Plus Plus (DP + XJB优化)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1024 题意:给你 n 个数字,你可以从中选m个子段(子段不能相交)。让选出的子段和和最大。 题解:明显是一道DP题。我们很容易想到DP【i】【j】为 前 j 个数字 挑选了 i 段。 所以DP【i】【j】 = max ( DP 【i】【j-1】+ num【j】,DP【i-1】【t】) t 属于 ...原创 2018-08-06 16:52:09 · 272 阅读 · 0 评论 -
Codeforces Round #523 (Div. 2) C - Multiplicity (DP+预处理)
题目链接:http://codeforces.com/contest/1061/problem/C 题意:给你一个长度为n的序列a,从序列a中下选任意数字组成序列b,定义 任意 b【i】% i == 0 的 b序列为good序列。求有多少条的good序列 题解:很容易想到,先预处理出来每个a【i】能放的位置,即a【i】的约数。 定义dp【i】表示长度为 i 的b序列有多少种。 那么转移方程...原创 2018-11-28 17:07:21 · 279 阅读 · 0 评论
分享