线性DP
文章平均质量分 61
wwt9b15bs
这个作者很懒,什么都没留下…
展开
-
【题解】poj1952(8月13校赛 DP专题)线性DP
题目链接 感觉水的不行,上来就写结果发现最长序列的个数没对,一脸茫然…… 思路摘抄自大佬题解 这题要求最长下降子序列的长度和个数,我们可以增加 数组maxlen[size](记录当前第1个点到第i个点之间的最长下降序列长度) 和maxnum[size](记录1~i之间的最长下降序列个数 ) ,首先对于最长下降序列属于DP基础题,只要对每一个a[i]求出符合要求(a[i] < a[j]...原创 2018-08-18 07:37:02 · 198 阅读 · 0 评论 -
【题解】洛谷P1280尼克的任务 线性DP
题目链接设 f[i]f[i]f[i] 表示 以 iii 时间开始的最长休息时间。f[i]i=n→1={max{f[i],f[p[x]+t[x]−1]}∃x∈[1,k],p[x]=if[i+1]+1∀x∈[1,k],p[x]≠if[i]_{i=n\to 1}=\begin{cases}\max\{f[i],f[p[x]+t[x]-1]\}\quad \exists x\in[1,k],p...原创 2018-10-12 17:05:34 · 227 阅读 · 0 评论 -
【题解】poj2228 Naptime 线性DP+环形处理
题目链接DescriptionGoneril is a very sleep-deprived cow. Her day is partitioned into N (3 <= N <= 3,830) equal time periods but she can spend only B (2 <= B < N) not necessarily contiguous p...原创 2018-09-28 16:04:05 · 567 阅读 · 0 评论 -
【题解】洛谷P1140相似基因 线性DP
题目链接设 dp[i][j]dp[i][j]dp[i][j] 表示 s1s1s1 到 iii 位置,s2s2s2 到 jjj 位置时的最大匹配值。设 dat1[i]dat1[i]dat1[i] 表示 s1[i]s1[i]s1[i] 在匹配值数组中的对应下标,同理有 dat2[i]dat2[i]dat2[i] (空格为 555),d[i][j]d[i][j]d[i][j] 表示 iii 和 ...原创 2018-10-13 22:54:25 · 248 阅读 · 0 评论 -
【题解】洛谷P1282多米诺骨牌 线性DP
题目链接设 dp[i][j]dp[i][j]dp[i][j] 表示前 iii 个骨牌第一行和为 jjj 时旋转最少次数。dp[i][j]=min1≤i≤n,0≤j≤6000{dp[i−1][j−a[i]],dp[i−1][j−b[i]]+1}dp[i][j]=\min\limits_{1\leq i\leq n,0\leq j\leq6000}\{dp[i-1][j-a[i]],dp[...原创 2018-10-14 20:15:24 · 301 阅读 · 0 评论 -
【题解】洛谷P1508 Likecloud-吃、吃、吃 线性DP
题目链接设 dp[i,j]dp[i,j]dp[i,j] 表示走到第 iii 行第 jjj 列所能得到的最大能量值。dp[i,j]=max1≤i≤m,1≤j≤n{dp[i+1][j−1],dp[i+1][j],dp[i+1][j+1]}+a[i][j]dp[i,j]=\max\limits_{1\leq i\leq m,1\leq j\leq n}\{dp[i+1][j-1],dp[i...原创 2018-10-14 20:30:47 · 208 阅读 · 0 评论 -
【题解】洛谷P1387最大正方形 线性DP
题目链接设 dp[i][j]dp[i][j]dp[i][j] 为以 (i,j)(i,j)(i,j) 为右下角的最大正方形的边长。dp[i][j]=min1≤i≤n,1≤j≤m{dp[i−1][j],dp[i−1][j−1],dp[i][j−1]}+1dp[i][j]=\min\limits_{1\leq i\leq n,1\leq j\leq m}\{dp[i-1][j],dp[i-1]...原创 2018-10-14 20:52:26 · 198 阅读 · 0 评论 -
【题解】洛谷P1736创意吃鱼法 线性DP
题目链接设 dp[i][j][0/1]dp[i][j][0/1]dp[i][j][0/1] 表示以 (i,j)(i,j)(i,j) 为左/右下角所能得到的最大符合条件正方形。设lft[i][j],rht[i][j],up[i][j]lft[i][j],rht[i][j],up[i][j]lft[i][j],rht[i][j],up[i][j] 分别表示 (i,j)(i,j)(i,j) 的...原创 2018-10-15 07:28:59 · 200 阅读 · 0 评论 -
【题解】[牛客OI周赛3-提高组]B.1408 线性DP
题目链接#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int N=2e3+10;int n,dp[N][N],w[N],b[N],c1[N][N],c2[N][N];int main...原创 2018-10-28 20:06:11 · 265 阅读 · 0 评论 -
【题解】[牛客网NOIP赛前集训营-提高组(第一场)]B.数数字 线性DP
题目链接#include<cstdio>#include<cstring>typedef long long ll;#define _rep(i,a,b) for(int i=(a);i<=(b);i++)#define _for(i,a,b) for(int i=(a);i<(b);i++)int co[10][10];ll pw[10]...原创 2018-10-28 21:06:43 · 242 阅读 · 0 评论 -
【题解】[牛客网NOIP赛前集训营-提高组(第二场)]B.分糖果 单调栈优化线性DP+容斥原理
题目链接#include<cstdio>#define re registertypedef long long ll;const int N=1e6+10;const int INF=0x3f3f3f3f;const int mod=1e9+7;template<typename tp>inline int getmin(tp&x,tp...原创 2018-10-30 09:30:54 · 1151 阅读 · 0 评论 -
【题解】[牛客网NOIP赛前集训营-提高组(第四场)]C.灭虫 线性DP+堆优化
题目链接#include<cstdio>#include<algorithm>#include<queue>using namespace std;const int N=3e3+10;struct node{ int p,l,r; bool operator <(const node&rhs)const{ retur...原创 2018-10-30 22:50:58 · 220 阅读 · 0 评论 -
【题解】洛谷P2668(P2540)[NOIP2015]斗地主(增强版) 线性DP+dfs
题目链接终于看明白了大佬题解,然而还是各种错误。#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define _rep(i,a,b) for(int i=(a);i<=(b);i++)int t,n,ans,dp[25][25][2...转载 2018-11-03 13:47:27 · 467 阅读 · 0 评论 -
【题解】洛谷P1091[NOIP2004]合唱队形 线性DP
题目链接设 f[i]f[i]f[i] 表示以 t[i]t[i]t[i] 结尾的最长上升子序列长度,g[i]g[i]g[i] 表示以 t[i]t[i]t[i] 开始的最长下降子序列长度f[i]=max0≤j&lt;i,t[j]&lt;t[i]{f[j]+1}f[i]=\max\limits_{0\leq j&lt;i,t[j]&lt;t[i]}\{f[j]...原创 2018-10-12 16:00:55 · 259 阅读 · 0 评论 -
【题解】洛谷P1020[NOIP1999普及]导弹拦截 线性DP
#include&lt;cstdio&gt;#include&lt;algorithm&gt;using namespace std;int a[1010],b[1010],c[1010];int main(){ //freopen("in.txt","r",stdin); int cnt=0,maxn=1,i,j; while(scanf(&q原创 2018-10-12 15:25:36 · 524 阅读 · 0 评论 -
【题解】CH5101 LCIS 线性DP
题目链接描述熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们研究最长公共上升子序列了。小沐沐说,对于两个数列A和B,如果它们都包含一段位置不一定连续的数,且数值是严格递增的,那么称这一段数是两个数列的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长...原创 2018-09-22 09:24:03 · 225 阅读 · 0 评论 -
【题解】hdu1024 线性DP
题目链接//dp[j]表示j在当前子序列的最优值,mk[j]表示上个子序列中1~j的dp的最大值 #include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;algorithm&gt;#define INF 0x3f3f3f3fusing namespace std;const int N=1e6+10;int dp[N]...原创 2018-08-13 07:03:43 · 444 阅读 · 0 评论 -
【模板】最长公共子序列
以洛谷P1439为例 n可以开到1e5……TLE+MLE(编译都过不了) 读入a数组后哈希一波,然后将b数组的值在哈希数组里找到对应值并替换,于是变成了求b数组最长上升子序列(玄学……)可以使用二分,时间复杂度o(nlogn)AC#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;cctype&gt;#include&lt原创 2018-08-13 07:03:29 · 189 阅读 · 0 评论 -
【题解】洛谷P1052过河[NOIP2005T2] 线性DP
题目链接题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点: 0,1,…,L0,1,…,L (其中 LL 是桥的长度)。坐标为 00 的点表示桥的起点,坐标为 LL 的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。...原创 2018-08-13 07:03:11 · 324 阅读 · 0 评论 -
【题解】zoj3747 线性DP
思路摘抄自大佬博客 由于又是至多又是至少没办法处理,所以统一转换成至多,对于事件A={至多N个G士兵连续},事件B={至多m-1个G士兵连续},那么A-B={连续人数在m到n中取值,即至少m个连续士兵}。统一之后,设定一个二维数组,dp[i][3],dp[i][0]表示对于第i个位置,放G士兵,同理,dp[i][1],dp[i][2]分别表示第i个位置放R,和P。 最大连续u个G,连续v个R;...原创 2018-08-15 07:10:19 · 233 阅读 · 0 评论 -
【题解】codeforces118D Caesar's Legion 线性DP
题目链接 使用状态dp[i][j][k],i,j:步兵,骑兵个数 k:0是步兵,1是骑兵 状态方程:for(int k = 1; k &lt;= min(i,k1); k++) dp[i][j][0] = (dp[i][j][0] + dp[i-k][j][1])%MOD; for(int k = 1; k &lt;= min(j,...原创 2018-08-15 07:10:34 · 261 阅读 · 0 评论 -
【题解】UVA10328 线性DP+大整数
题目链接 大整数型是NM什么鬼东西(雾) 首先是逆向思维,c[i][j]表示的是投掷i次,连续正面的个数最多不超过j次的情况有多少种,然后c[i][j] = c[i - 1][j] * 2,无非是第i次增加了两种情况,正面和反面,但是这样计算是要有些不符合条件的情况也考虑进去了,即c[i-1][j]会有说后面的j个为正面,那么在增加一个正面的话连续正面的个数就会变成j + 1个,所以要减去这种...原创 2018-08-18 07:37:08 · 141 阅读 · 0 评论 -
【题解】poj3666 Making the Grade 线性DP
题目链接DescriptionA straight dirt road connects two fields on FJ’s farm, but it changes elevation more than FJ would like. His cows do not mind climbing up or down a single slope, but they are not fond...原创 2018-09-23 21:28:45 · 363 阅读 · 0 评论 -
【题解】CH5102 Mobile Service 线性DP
题目链接描述一个公司有三个移动服务员,最初分别在位置 1,2,31,2,31,2,3 处。如果某个位置(用一个整数表示)有一个请求,那么公司必须指派某名员工赶到那个地方去。某一时刻只有一个员工能移动,且不允许在同样的位置出现两个员工。从 ppp 到 qqq 移动一个员工,需要花费 c(p,q)c(p,q)c(p,q)。这个函数不一定对称,但保证 c(p,p)=0c(p,p)=0c(p,p)=...原创 2018-09-23 22:58:01 · 774 阅读 · 0 评论 -
【题解】洛谷P1006(CH5103)[NOIP2008T3]传纸条 线性DP
题目描述小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个 mmm 行 nnn 列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标 (1,1)(1,1)(1,1),小轩坐在矩阵的右下角,坐标 (m,n)(m,n)(m,n) ...原创 2018-09-24 08:22:46 · 312 阅读 · 0 评论 -
【题解】CH5104 I-country 线性DP
题目链接描述在 N*M 的矩阵中,每个格子有一个权值,要求寻找一个包含 K 个格子的凸连通块(连通块中间没有空缺,并且轮廓是凸的,如书中图片所示),使这个连通块中的格子的权值和最大。求出这个最大的权值和,并给出连通块的具体方案。本题有SPJ,输出任意一种方案即可。N,M≤15,K≤225。According to top-secret A-country plans, I-country i...原创 2018-09-25 19:33:57 · 586 阅读 · 0 评论 -
【题解】CH5105 Cookies 线性DP
题目链接描述圣诞老人共有 MMM 个饼干,准备全部分给 NNN 个孩子。每个孩子有一个贪婪度,第 iii 个孩子的贪婪度为 g[i]g[i]g[i] 。如果有 a[i]a[i]a[i] 个孩子拿到的饼干数比第 iii 个孩子多,那么第 iii 个孩子会产生 g[i]×a[i]g[i]\times a[i]g[i]×a[i] 的怨气。给定NNN、MMM 和序列 ggg,圣诞老人请你帮他安排一种分...原创 2018-09-25 20:44:15 · 849 阅读 · 2 评论 -
【题解】洛谷P4852[非酋yyf的sif之旅]B.yyf hates choukapai 单调队列优化DP
题目链接赛后题解#include&lt;cstdio&gt;const int M=8e4+5,C=3e3+5,N=45,S=N*C+M;int a[S],b[S],n,m,c,d,sum,hd[N],tl[N],s,q[N][S][2],f[S][N],p[S][N],pos[N],ans,Pos;//f[i][j]前i张牌连抽j次 p[i][j]记录f[i][j]由哪个i转移过...转载 2018-10-03 17:21:41 · 229 阅读 · 0 评论 -
【题解】洛谷P2679[NOIP2015]子串 线性DP+前缀和
题目链接#include<cstdio>#define _rep(i,a,b) for(int i=(a);i<=(b);i++)#define rep_(i,a,b) for(int i=(a);i>=(b);i--)const int mod=1e9+7;int dp[201][201],sum[201][201],n,m,K;char a[1001]...原创 2018-11-05 09:12:14 · 287 阅读 · 1 评论