线性dp
SC.ldxcaicai
我很菜=_=
展开
-
2018.10.04 上升序列(线性dp)
描述给一个长度10^5的非负序列,序列中的0可以任意换成任何数字(包括负数),问最长严格上升子序列长度。输入第一行有一个数n代表序列长度第二行有n个数字ai代表序列每个值是多少。输出一行一个数字代表答案样例输入72 0 2 1 2 0 5样例输出5提示30% n<=5000100% n<=1e5 ai<=1e6线性dp好题。我们对于每个非零数先消...原创 2018-10-04 21:11:51 · 215 阅读 · 0 评论 -
2018.09.22 ZJOI2005午餐(贪心+01背包)
描述上午的训练结束了,THU ACM小组集体去吃午餐,他们一行N人来到了著名的十食堂。这里有两个打饭的窗口,每个窗口同一时刻只能给一个人打饭。由于每个人的口味(以及胃口)不同,所以他们要吃的菜各有不同,打饭所要花费的时间是因人而异的。另外每个人吃饭的速度也不尽相同,所以吃饭花费的时间也是可能有所不同的。THU ACM小组的吃饭计划是这样的:先把所有的人分成两队,并安排好每队中各人的排列顺序,然...原创 2018-09-22 16:07:06 · 149 阅读 · 0 评论 -
201.09.22 除虫药水(线性dp)
描述在十年前,除虫是十分艰苦的工作。那时,使用普通药水进行除虫的效果极差,在一片苹果 林中使用后除掉的虫仅为极小一部分。比如说,Bugs 镇共有 N 片苹果林,对第i 片使用普通药水可以除掉 ai 吨虫。xxx的任务是对这 N 片苹果林中的每一片进行除虫,并且他必 须按照 1 到 N 的顺序依次处理。 xxx另有一种高级药水,其除虫能力为普通药水的 K 倍, 也就是说,在第i 片苹果林中使用高...原创 2018-09-22 17:30:56 · 154 阅读 · 0 评论 -
2018.10.19 bzoj1584: Cleaning Up 打扫卫生(线性dp)
传送门dp妙题。考虑到每个位置分一组才花费nnn的贡献。因此某一段不同的数的个数不能超过sqrt(n)sqrt(n)sqrt(n),于是对于当前的位置iii我们记pos[j]pos[j]pos[j]表示pos[j]+1pos[j]+1pos[j]+1到iii恰好有jjj个不同的数。这样f[i]f[i]f[i]就可以从pos[j]pos[j]pos[j]转移过来。由于pospospos数...原创 2018-10-19 19:42:44 · 210 阅读 · 0 评论 -
2018.10.19 NOIP训练 变化的序列(线性dp)
传送门f[i][j]f[i][j]f[i][j]表示后iii个对答案贡献有jjj个a的方案数。可以发现最后a,ba,ba,b的总个数一定是n∗(n−1)/2n*(n-1)/2n∗(n−1)/2因此直接转移就行了。f[i][j]=f[i+1][j]+f[i+1][j−i]f[i][j]=f[i+1][j]+f[i+1][j-i]f[i][j]=f[i+1][j]+f[i+1][j−i]解释...原创 2018-10-19 23:21:29 · 123 阅读 · 0 评论 -
2018.10.20 loj#2593. 「NOIP2010」乌龟棋(多维dp)
传送门f[i][j][k][l]f[i][j][k][l]f[i][j][k][l]表示用iii张111,jjj张222,kkk张333,lll张444能凑出的最大贡献。然后从f[i−1][j][k][l],f[i][j−1][k][l],f[i][j][k−1][l],f[i][j][k][l−1]f[i-1][j][k][l],f[i][j-1][k][l],f[i][j][k-1][l]...原创 2018-10-20 20:28:21 · 169 阅读 · 0 评论 -
2018.11.03 NOIP模拟 地球发动机(线性dp)
传送门考试5分钟写完。如果没这题今天多半爆零了(汗直接二分出合法的转移范围。然后用后面的状态更新前面的就可以了。代码原创 2018-11-03 21:11:50 · 158 阅读 · 0 评论 -
2018.11.04 洛谷P2679 子串(线性dp)
传送门为什么前几年的noipnoipnoip总是出这种送分题啊?这个直接线性dpdpdp不就完了吗?f[i][j][k][0/1]f[i][j][k][0/1]f[i][j][k][0/1]表示当前在第iii个位置,已经匹配到了第jjj个位置,已经使用了kkk段,当前这个字符没用用/用了。然后分情况简单转移一下就行了。注意可以滚动数组优化空间。代码:#include<bits/...原创 2018-11-04 21:59:31 · 310 阅读 · 1 评论 -
NOIP训练 czy的后宫6(线性dp)
传送门题意简述:给一个nnn个数的数列,你可以把它最多分成mmm段,求每段数之和的最大值的最小值,以及满足这个最小值的时候划分数列的方案数。思路:第一个问题是二分经典问题,不妨设其答案为limlimlim。现在考虑dpdpdp第二个问题。我们定义状态fi,jf_{i,j}fi,j表示把前iii个数划成jjj段且满足题意的方案数。那么就有状态转移方程:fi,j=∑psum(p,i)≤l...原创 2018-12-31 13:58:29 · 168 阅读 · 0 评论