
动态规划
PK__PK
这个作者很懒,什么都没留下…
展开
-
2018暑期牛客网多校第二场签到题---DP+打表
牛客网的多校比赛比较有意思。题目是私有的没法公开,就很无语,没办法让大家去试试交题。那么只能我分享题意和解法。题意:一个人有两种行动方式,走或者跑,走一次走一米,跑一次跑k米。但是不能连续的跑。意思为必须跑一段之后走一米,才能接着跑。问这个人到L,R这个闭区间的方式有多少种。n次询问。n小于1e5.结果取模1e9+7.起始位置为0.题解:这道题,有点类似于上楼梯的题,就是一次走两步,或者走...原创 2018-07-23 10:09:50 · 246 阅读 · 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 · 771 阅读 · 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 · 263 阅读 · 0 评论 -
AC Challenge (状压DP)
题目链接:https://nanti.jisuanke.com/t/30994题意:有n道题目,每道题目有两个值,a,b。若 你在 t 分钟时做了某道题,那么你会获得 a * t + b的分数。但是做某道题时,有限制条件,你想要先做完了另外一些题目才能做这道题。比如 在做第三题时,第三题要求必须先做完第一题和 第二题,那么你要想做第三题 必须先做完第一题和第二题,问如何做题才能最后分数最大。...原创 2018-09-11 09:26:28 · 335 阅读 · 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 · 206 阅读 · 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 · 476 阅读 · 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 · 253 阅读 · 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 · 169 阅读 · 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 · 220 阅读 · 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 · 181 阅读 · 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 · 231 阅读 · 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 · 231 阅读 · 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 · 236 阅读 · 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 · 247 阅读 · 0 评论