动态规划-----线性DP
文章平均质量分 56
SingleK
这个作者很懒,什么都没留下…
展开
-
计蒜客 - 守望者的逃离
时间限制 1000ms 空间限制 65536K题目描述恶魔猎手尤迫安野心勃勃。他背叛了暗夜精灵,率深藏在海底的那加企图叛变:守望者在与尤迪安的交锋中遭遇了围杀.被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去,到那时,刀上的所有人都会遇难:守望者的跑步速度,为 17 m/s, 以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在 1s 内移动 60m...原创 2017-10-26 23:55:33 · 1074 阅读 · 0 评论 -
UVA 1638 - Pole Arrangement(DP)
题目链接 https://cn.vjudge.net/problem/UVA-1638【题意】 有高度分别为1,2,3…n的杆子各一根排成一行,从左到右能看到L根,从右到左能看到R根,问你有多少种可能的排列情况.(n<=20)【思路】 虽然n很小,但直接暴力枚举也会T,还是不怎么会递推,这道题要先假设 dp[i][j][k]dp[i][j][k]dp[i][j][k] 表示有i根...原创 2018-08-23 20:19:04 · 141 阅读 · 0 评论 -
UVA 1393 - Highways(数论+DP)
题目链接 https://cn.vjudge.net/problem/UVA-1393【题意】 有一个n行m列的点阵(1<=n,m<=300)一共有多少条非水平非竖直的线穿过其中的两个点?【思路】 递推,设 ans[i][j]ans[i][j]ans[i][j] 为 i∗ji∗ji*j 个方块对应的答案,那么 ans[i][j]=ans[i][j−1]+ans[i−1][j...原创 2018-08-29 23:00:53 · 240 阅读 · 0 评论 -
51Nod1055 - 最长等差数列(DP)
题目链接 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1055【题目描述】N个不同的正整数,找出由这些数组成的最长的等差数列。例如:1 3 5 6 8 9 10 12 13 14等差子数列包括(仅包括两项的不列举)1 3 51 5 9 133 6 9 123 8 135 9 136 8 10 12 ...原创 2018-10-18 10:29:08 · 124 阅读 · 0 评论 -
POJ 1769 - Minimizing maximizer(线段树优化DP)
题目链接 https://cn.vjudge.net/problem/POJ-1769【题意】有总长为 nnn 的区间 [1,n][1,n][1,n],还有 mmm 个小区间 [xi,yi]&nbsp;(1&amp;lt;=xi&amp;lt;=yi&amp;lt;=n)[x_i,y_i] \ (1&amp;lt;=x_i&amp;lt;=y_i&amp;lt;=n)[xi,yi]&a原创 2018-10-09 10:56:37 · 158 阅读 · 0 评论 -
51Nod 1052 - 最大M子段和(DP)
题目链接 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1052【题目描述】N个整数组成的序列a[1],a[2],a[3],…,a[n],将这N个数划分为互不相交的M个子段,并且这M个子段的和是最大的。如果M >= N个数中正数的个数,那么输出所有正数的和。例如:-2 11 -4 13 -5 6 -2,分为2...原创 2018-10-17 19:57:11 · 144 阅读 · 0 评论 -
51Nod 1020 - 逆序排列(DP)
题目链接 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1020【题目描述】在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。1-n的全排列中,逆序数最...原创 2018-10-17 20:30:21 · 136 阅读 · 0 评论 -
51Nod 1050 - 循环数组最大子段和(DP)
题目链接 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1050【题目描述】N个整数组成的循环序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续的子段和的最大值(循环序列是指n个数围成一个圈,因此需要考虑a[n-1],a[n],a[1],a[2]这样的序列)。当所给的...原创 2018-10-22 19:52:33 · 127 阅读 · 0 评论 -
51Nod 1051 - 最大子矩阵和(DP)
题目链接 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1051【题目描述】一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。例如:3×3的矩阵:-1 3 -12 -1 3-3 1 2和最大的子矩阵是:3 -1-1 31 2Input第1行:M和N,中间...原创 2018-10-22 20:29:32 · 141 阅读 · 0 评论 -
51Nod 1158 - 全是1的最大子矩阵(DP)
题目链接 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1158【题目描述】给出1个M*N的矩阵M1,里面的元素只有0或1,找出M1的一个子矩阵M2,M2中的元素只有1,并且M2的面积是最大的。输出M2的面积。Input第1行:2个数m,n中间用空格分隔(2 &lt;= m,n &lt;= 500)第2 - N...原创 2018-10-22 20:55:56 · 197 阅读 · 0 评论 -
51Nod 1196 - 字符串的数量(DP)
【题目描述】【思路】做不出来,看了讨论区大佬的题解才写出来的。这道题是V1难度,还有V2,V3根本不会,先贴上V1的题解下面的所有字母编号都从 111 开始,范围 [1,n][1,n][1,n]首先,一个合法的字符串显然是由若干个合法的“链”组成的。链的定义就是:从一个字母开始连,后面每个字母编号必须大于等于前一个的2倍,这样尽可能的连接下去。所谓尽可能连接下去的意思是,链的最后一个字母...原创 2018-10-31 23:11:18 · 193 阅读 · 0 评论 -
51Nod 1274 - 最长递增路径(DP)
【题目描述】【思路】如果是有向图,那么可以把边按照从小到大排序,然后设 dp[i]dp[i]dp[i] 以 iii 为终点的最长距离。有 dp[u]=max{dp[u],dp[v]+1∣(u,v)∈E}dp[u]=max\{dp[u],dp[v]+1|(u,v)\in E\}dp[u]=max{dp[u],dp[v]+1∣(u,v)∈E}而在无向图中,对于无向边 (u,v)(u,v)(u,...原创 2018-11-06 20:30:57 · 261 阅读 · 0 评论 -
51Nod 1293 - 球与切换器(DP)
【题目描述】【思路】经过该切换器的球的总量是k,发现如果是该位置的值是1,那么会有(k+1)/2的球像右去,剩下的球向下去。如果该位置的值是-1,那么会有(k+1)/2的球像下去,剩下的球向右去。最后求右下角的位置球向下的数量。设 dp[i][j][0]dp[i][j][0]dp[i][j][0] 表示经过位置 (i,j)(i,j)(i,j) 并向下走的球数量,dp[i][j][1]dp[...原创 2018-11-08 00:25:15 · 145 阅读 · 0 评论 -
51Nod 1259 - 整数划分 V2(五边形数定理)
【题目描述】【思路】大佬的博客记板子#include<bits/stdc++.h>#define f(x)(((x)*(3*(x)-1))>>1)#define g(x)(((x)*(3*(x)+1))>>1)using namespace std;const int mod=1e9+7;const int maxn=100005;in...原创 2018-11-05 20:09:29 · 385 阅读 · 0 评论 -
51Nod 1201 - 整数划分(DP)
【题目描述】【思路】dp[i][j]表示数字i被划分成j个互不相同的数字之和的方案数,那么dp[i][j] 表示数字i被划分成j个互不相同的数字之和的方案数,那么dp[i][j]表示数字i被划分成j个互不相同的数字之和的方案数,那么dp[i][j]=dp[i−j][j]+dp[i−1][j−1]dp[i][j]=dp[i-j][j]+dp[i-1][j-1]dp[i][j]=dp[i−j]...原创 2018-11-05 21:27:30 · 148 阅读 · 0 评论 -
51Nod 1296 - 有限制的排列(DP)
【题目描述】【思路】做这道题首先要知道一种全排列的生成方式:如果要生成 [1,n][1,n][1,n] 的全排列,考虑递推关系,如果现在所有 [1,n−1][1,n-1][1,n−1] 的排列都是已知的,那么假设 [1,n][1,n][1,n] 中的一个排列末尾元素为 xxx ,那么只要把 [1,n−1][1,n-1][1,n−1] 中所有 &amp;gt;=x&amp;gt;=x&gt;=...原创 2018-11-08 11:40:18 · 320 阅读 · 0 评论 -
UVA 12034 - Race(简单DP)
题目链接 https://cn.vjudge.net/problem/UVA-12034【题意】 A,B两个人赛马,最终的名次有3种可能:并列第一,A第一B第二,B第一A第二. 输入n(1<=n<=1000)求n个人赛马时最终名次的个数,对10056取模【思路】 设答案为dp[n]dp[n]dp[n],假设并列第一名有 iii 个人,有 CinCniC^{i}_n 种可能性...原创 2018-08-23 17:22:58 · 191 阅读 · 0 评论 -
UVA 580 - Critical Mass(简单DP)
题目链接 https://cn.vjudge.net/problem/UVA-580【题意】 有两种元素U和L,要求把n个元素排成一行同时要求至少有3个U在一起,问有多少种方法?当n=4,5,30时答案分别为3,8,974791728【思路】 每个位置不是放U就是放L,所以总情况数是 2n2n2^n,那么用总情况数减去最多有两个连续U的情况数就是答案了. 设 dp[n][0]dp[n...原创 2018-08-23 15:27:01 · 151 阅读 · 0 评论 -
UVA 1645 - Count(简单DP)
题目链接 https://cn.vjudge.net/problem/UVA-1645【题意】 输入n(n<=1000)统计有多少个n个结点的有根树,使得每个深度中所有结点的子结点数相同【思路】 设答案为dp[n],肯定要拿一个结点作为根(第0层),如果第一层只有1个结点,那么就是dp[n-1],如果有2个结点,那么答案是dp[(n-1)/2],以此类推,边界是dp[1]=1...原创 2018-08-26 17:24:47 · 255 阅读 · 0 评论 -
Uva 11375 - Matches(递推)
We can makedigits with matches as shown below: Given N matches, find the number ofdifferent numbers representable using the matches. We shall only make numbersgreater than or equal to 0, so no negativ...原创 2017-11-19 23:32:34 · 181 阅读 · 0 评论 -
Uva 11361 - Investigating Div-Sum Property(数位DP)
An integer is divisible by 3 if the sum ofits digits is also divisible by 3. For example, 3702 is divisible by 3 and12(3+7+0+2) is also divisible by 3. This property also holds for the integer 9.In th...原创 2017-12-23 10:32:58 · 307 阅读 · 0 评论 -
Uvalive 3516 - Exploring Pyramids(DP)
uvalive 3516Archaeologists have discovered a new set ofhidden caves in one of the Egyptian pyramids. The decryption of ancienthieroglyphs on the walls nearby showed that the caves structure is as foll...原创 2017-12-14 21:47:31 · 397 阅读 · 0 评论 -
Uva 10253 - Series-Parallel Networks (计数+DP)
In this problem you are expected to counttwo-terminal series-parallel networks. These are electric networks consideredtopologically or geometrically, that is, without the electrical properties ofthe e...原创 2017-12-24 14:06:29 · 245 阅读 · 0 评论 -
Uva 11400 - Lighting System Design (DP)
题目链接 https://cn.vjudge.net/problem/UVA-11400【题意】 你的任务是设计一个照明系统,一共有n(n<=1000)个灯泡可以选择,不同种类的灯必须使用不同的电源,但同种灯泡可以共用一个电源,每种灯泡有4个属性,电压V(V<=132000),电源费用K(K<=1000),每个灯泡的费用C(C<=10)和每种灯泡的数量L(L<=...原创 2017-12-26 23:28:31 · 238 阅读 · 0 评论 -
HDU 4489 - The King’sUps and Downs(DP)
The King’sUps and DownsTime Limit: 2000/1000 MS(Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 758 Accepted Submission(s): 539Problem DescriptionThe king has guards o...原创 2018-01-06 23:18:13 · 170 阅读 · 0 评论 -
HDU 2045 - LELE的RPG难题(递推)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2045不容易系列之(3)—— LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)【题目描述】 人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这...原创 2018-02-23 13:48:09 · 166 阅读 · 0 评论 -
Uva 1025 - A Spy in the Metro(DP)
题目链接 https://vjudge.net/problem/UVA-1025【题意】 某城市里的地铁是线性的,有n个车站(2<=n<=50),有M1辆列车从第1站从左往右开,有M2辆列车从第n站从右往左开,在0时刻间谍从第一站出发,目的是要在时刻T(0<=T<=200)与另一个人在...原创 2018-03-17 10:20:52 · 154 阅读 · 0 评论 -
Uva 1347 - Tour(DP)
题目链接 https://vjudge.net/problem/UVA-1347【题意】 按照x坐标的递增顺序给定平面上的n个点,每个点的x坐标保证不相同(n<=1000),你的任务是设计一条路线,从最左边的点出发,走到最右边的点后返回,要求除了最左端和最右端的两点以外,每个点恰好经过一次,且要让总路程...原创 2018-03-17 21:39:19 · 157 阅读 · 0 评论 -
Uva 1626 - Brakets Sequence(DP)
题目链接 https://cn.vjudge.net/problem/UVA-1626【题意】 定义如下正规括号序列空序列是正规括号序列 如果S是正规括号序列,那么[S], (S)也是正规括号序列如果A和B都是正规括号序列,那么AB也是正规括号序列输入一个长度不超过100的只有’(‘, ‘)’, ‘[‘, ‘]’组成的字符串序列,添加最少的括号得到一个规则序列,如果有多解输出...原创 2018-03-29 17:30:09 · 149 阅读 · 0 评论 -
POJ 1631 - Bridging signals(DP)
题目链接 https://cn.vjudge.net/problem/POJ-1631【题意】 求最长上升子序列LIS【输入格式】 输入整数T,共有T组输入数据,每组输入n(n <= 40000)代表序列长度,随后n个整数代表序列的内容。【输出格式】 输出最长上升子序列的长度。【思路】 LIS问题,注意利用二分O(nlogn)的算法求解。...原创 2018-03-26 19:52:00 · 212 阅读 · 0 评论 -
Uvalive 3942 - Remember the Word(字典树+DP)
题目链接 https://cn.vjudge.net/problem/UVALive-3942【题意】 给出一个由S个不同单词组成的字典和一个长字符串,把这个长字符串分解成若干个单词的连接(单词可重复使用),有多少种方法?比如有4个单词a,b,cd,ab那么abcd有两种分法a+b+cd以及ab+cd.【输入格式】 多组数据,每组数据的第一行为长度不超过300000的长字符串,第二行是...原创 2018-04-14 20:44:08 · 164 阅读 · 0 评论 -
Uva 11584 - Partitioning by Palindromes(预处理+DP)
题目链接 https://cn.vjudge.net/problem/UVA-11584【题意】 输入一个由小写字母组成的字符串,你的任务是把它们划分成尽量少的回文串。比aaadbccb至少要划分成3个回文串,aaa,d,bccb 字符串长度不超过1000【思路】 设dp(i)表示字符串s[0]到s[i]的子串可以划分成回文串的最少个数,那么状态转移方程为dp(i)=min{dp(j)...原创 2018-03-27 19:21:28 · 234 阅读 · 0 评论 -
Uva 1625 - Color Length(DP)
题目链接 https://cn.vjudge.net/problem/UVA-1625【题意】 输入两个长度分别为n和m的颜色序列(n,m<=5000),要求按一定规则合并成一个序列,规则是每次可以把一个序列开头的颜色放到新序列的尾部。例如对于序列GBBY和YRRGB,它们可以合成很多中结果,其中包含这样两种结果,GBYBRYRGB和YRRGGBBYB,对于每个颜色c来说,其跨度L(c...原创 2018-03-28 16:19:57 · 312 阅读 · 0 评论 -
2018牛客网暑期ACM多校训练营第二场 A - run(简单DP)
题目链接 https://www.nowcoder.com/acm/contest/140#question【题目描述】 White Cloud is exercising in the playground. White Cloud can walk 1 meters or run k meters per second. Since White Cloud is tired,it c...原创 2018-07-22 14:21:26 · 202 阅读 · 0 评论 -
51Nod 1183 - 编辑距离(DP)
【题目描述】【思路】设 dp[i][j]dp[i][j]dp[i][j] 表示把字符串a的前i个字符变成字符串b的前j个字符的编辑距离,有转移方程dp[i+1][j+1]={dp[i][j]+(a[i]==b[j] ? 0: 1)dp[i][j+1]+1dp[i+1][j]+1dp[i+1][j+1]=\begin{cases} dp[i][j]+(a[i]...原创 2019-01-13 20:36:16 · 120 阅读 · 0 评论