
DP优化
Freopen
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
小B的夏令营(前缀和优化DP)
嗯,普及组好题。#include<bits/stdc++.h>#define maxn 1505#define mod 1000000007using namespace std;int n,m,a,b,p,K;int f[2][maxn],g[2][maxn],gq[2][maxn],h[maxn],sh[maxn],inv[maxn];void add(int &a,int b){ if((a+=b)>=mod) a-=mod; }int Pow(int ..原创 2020-05-19 15:36:23 · 285 阅读 · 0 评论 -
计算(线段树维护DP)
AC Code\mathrm {AC \ Code}AC Code#include<bits/stdc++.h>#define maxn 500005#define maxv maxn * 4#define mod 1000000009#define lc u<<1#define rc u<<1|1#define rep(i,j...原创 2020-01-02 21:16:49 · 229 阅读 · 0 评论 -
20191212 A 状压DP
有一个数组aaa,其中有nnn个元素,现在请构造一个数组bbb,其中也有nnn个元素,使得数组bbb中所有元素的异或值为000,且aia_iai到bib_ibi的距离之和最小。T<=6,n<=15,ai<=1e9T<=6 , n <=15 ,a_i<=1e9T<=6,n<=15,ai<=1e9这个。从高位到低位DPDPDP。当所有...原创 2019-12-12 21:41:10 · 128 阅读 · 0 评论 -
51nod 1943 联通期望
在一片大海上有n个岛屿,规划建设mmm座桥,第i座桥的成本为zizizi,但由于海怪的存在,第i座桥有pipipi的概率不能建造。求在让岛屿尽量联通的情况下,期望最小成本为多少。尽量联通:在对每座桥确定能否建造的情况下,对于任意两个岛屿,如果存在一种建桥方案使得它们联通,那么它们必须联通。n&lt;=14,m&lt;=(2n)n&lt;=14,m&lt;=\b...原创 2019-03-18 16:35:50 · 337 阅读 · 1 评论 -
51nod 1850 抽卡大赛(动态DP?雾)
51Nod为了活跃比赛前的气氛,组织了场抽卡比赛。这场比赛共 n个人参加,主办方根据非欧血统鉴定器,得到了一些数据。每个人抽卡有 Mi 种可能,得到的卡能力值为 Aij 代价为 Gij 的可能性为 Pij ,所谓代价指的是玩家需要将一轮比赛后所得的点头盾的 Gij% 交给主办方。每轮比赛每个人都随机抽取卡片,待全部人抽取完毕后进行排名(按照A从大到小排),排在第 i 位的人有 Vi 的点头盾收入。...原创 2019-03-24 19:06:08 · 428 阅读 · 0 评论 -
POJ2431Expedition (不懂这题怎么就模拟费用流了)
题意:有一辆车,要开lll的路,它每开一单位的路要消耗一单位的油。车里原来有ppp的油,车的油箱容量是无限大的。现在路上不同位置有一些加油站,这些加油站里有一定量的油,问开到终点最少要加几次油。用堆优化贪心。AC Code:#include<cstdio>#include<cstring>#include<cctype>#include<alg...原创 2019-03-08 09:34:41 · 163 阅读 · 0 评论 -
UOJ #188. 【UR #13】Sanrd (Min_25筛的广义应用)
题目我琢磨着我怎么越来越会写标题了呢?这个题很明显不是积性函数。就像:51nod 1847 奇怪的数学题-对次小质因数下功夫。而这个题是让我们求次大质因数。考虑Min_25筛第二部分求答案的过程。S(a,b)表示2~a中minprime&gt;=primebminprime &gt;= prime_bminprime>=primeb的答案。那么S(a,b)可以...原创 2019-03-07 16:07:33 · 269 阅读 · 0 评论 -
Luogu P3600 随机数生成器(期望和概率dp)
题目不得不说,一minminmin一maxmaxmax加一个期望把我搞晕了。其实这个题它和你说答案为整数其实就可以想到枚举答案,从而把期望问题化为概率问题。E(x)=∑i=1XiP(x=i)=∑i=1Xi(P(x&amp;gt;=i)−P(x&amp;gt;=i+1))E(x) = \sum_{i=1}^XiP(x=i)=\sum_{i=1}^Xi\left(P(x&amp;gt;=i)-P...原创 2019-03-10 20:58:39 · 362 阅读 · 0 评论 -
BZOJ 1492: [NOI2007]货币兑换Cash
CDQ分治使在线凸包变成离线凸包。好卡精度啊啊啊啊啊啊啊啊啊啊啊啊啊祖传的dcmp都过不了,疯狂三点近似共线#include<bits/stdc++.h>#define maxn 100005#define double long double #define eps 1e-10using namespace std;int n,s;double A[maxn],B...原创 2019-03-07 10:23:12 · 165 阅读 · 0 评论 -
BZOJ 2402 陶陶的难题II
陶陶不要给我出难题啊。。。。。。套路分数规划+线段树+凸包二分。sb错误不断。AC Code:#include<bits/stdc++.h>#define maxn 30005#define lc now<<1#define rc now<<1|1#define inf 0x3f3f3f3f#define eps 1e-4using nam...原创 2019-03-06 22:00:00 · 286 阅读 · 0 评论 -
NOI 2014 购票 (树上各种科技)
以前看着这个芳菲菲其弥章的题面以为这题又是什么数据结构神题。。。。。。其实就是 加点横坐标单调但查询斜率不单调的斜率优化 + 时间限制 + 树上查询。解法1(套路解法):因为时间限制,我们用线段树维护每个小区间的凸包,最后求个最小值就行。因为树上查询所以树链剖分。因为这些操作常数都不是很大,时间复杂度分析出来也没啥意思。。。。AC Code:#include<bits/stdc...原创 2019-03-06 20:12:57 · 624 阅读 · 0 评论 -
BZOJ 1758: [Wc2010]重建计划(点分治+迭代)
题目不敢挂LG。点分治常数太大洛谷上过不了。。。。1.直接求边数为lll的路径的最大路径长度,这个点分治做不了。因为合并答案的时候是O(n2)O(n^2)O(n2)跑不掉的。唯一的特例是你写FFT。和和和卷积?不存在的。2.二分答案判定有无[L,U][L,U][L,U]的路径长度大于边数*二分的答案。在子树合并时相当于从小到大枚举一个子树深度,另一个子树深度的上限和下限都下降,求最大...原创 2019-03-25 16:27:06 · 235 阅读 · 0 评论 -
51nod 1989 竞赛表格(信仰题)
定义rev(i)rev(i)rev(i)为i十进制下各位翻转所得的数,例如rev(2345)=5432,rev(3210)=123rev(2345)=5432,rev(3210)=123rev(2345)=5432,rev(3210)=123。l0nl1f3比较无聊,他打算用revrevrev函数进行一个游戏。他找了一个无穷大的表格,设第i行第j列的格子上的数为f(i,j),那么f满足f(x...原创 2019-03-18 19:26:09 · 301 阅读 · 0 评论 -
BZOJ 1107: [POI2007]驾驶考试egz(树状数组LIS)
题目大佬的讲解其实就是发现能够作为起点的道路一定形成一段区间。这段区间的左端点能到达n,右端点能到达1,那么这段区间内的所有道路都能到任何一条路。那么只需要对左端点和右端点做文章即可。注意two-pointers的运用来代替二分。AC Code(BZOJ 的小常数O(nlogn)O(n\log n)O(nlogn)都要跑700ms。。。无语了):#include<bits/stdc...原创 2019-03-25 17:44:52 · 214 阅读 · 0 评论 -
长链剖分
终于填坑了呢长链剖分类似于每个点选最深的儿子作为重儿子的重链剖分。树边长度均为111的长链剖分有一些优美的性质。可以维护以深度为下标的DPDPDP例:Hotel加强版有一个树形结构,每条边的长度相同,任意两个节点可以相互到达。选3个点。两两距离相等。有多少种方案?这个题我们可以写出一个O(n2)O(n^2)O(n2)的DPDPDP。fi,jf_{i,j}fi,j表示iii子树内与i...原创 2019-10-10 13:47:22 · 165 阅读 · 0 评论 -
HDU 6688 Rikka with Traffic Light(DP+斜率优化)
题目题意: N个人过马路,分别纵向过和横向过,红灯时只可以纵向过,绿灯时反之,纵向过需要T1sT_1sT1s,横向过需要T2sT_2sT2s,每个人在tit_iti到达马路边,求最小的等待时间和,等待时间为他开始过马路的时间减去到马路边的时间。N<=3e3N<=3e3N<=3e3题解:官方题解:首先可以发现一定存在一个最优方案,所有绿灯区间长度都大...原创 2019-09-01 17:44:30 · 295 阅读 · 0 评论 -
HDU 6578 Blank
题目大意:长度为n的数组要求分别填入0到3四个数中的任意一个,有m个限制条件:区间[l,r]中出现的数字种数恰好为x,求方案数。记录4种数字最后出现的位置在限制条件下的方案数(及时清零)然后DP。发现具体是那种数字不重要,于是记录4种数字从后到前最后出现的位置就可以让状态数÷4!\div 4!÷4!然后O(n4T)O(n^4T)O(n4T)的奇妙卡常就能过了。AC Code:#inclu...原创 2019-07-23 21:04:38 · 467 阅读 · 0 评论 -
LOJ #2462. 「2018 集训队互测 Day 1」完美的集合(组合数取(奇怪模数的)模 + DFS序DP+容斥)
题目part1\texttt{part1}part1DP求出完美集合的价值之和,这种树上联通块的DP一般可以用DFS序DP,把DFS序拿出来从右到左,如果当前dfs序为i的点选,则可以选择dfs序为i+1的点,否则跳过整颗子树,即f[i]=max(f[i+1],f[i+siz[pos[i]]])f[i] = max(f[i+1] , f[i + siz[pos[i]]])f[i]=max(f[...原创 2019-05-20 22:19:47 · 921 阅读 · 0 评论 -
Codeforces 1152F2 Neko Rules the Catniverse (Large Version)
题目题意:在n(<=109)n(<=10^9)n(<=109)个星球中,一个人能从x号星球到y号星球当且仅当y没有被访问过并且1<=y<=x+m(m<=4)1<=y<=x+m(m<=4)1<=y<=x+m(m<=4)。求走k(<=12)k(&a...原创 2019-04-29 16:21:06 · 357 阅读 · 0 评论 -
BZOJ 3205: [Apio2013]机器人(类斯坦纳树DP)
题目to(x,y,k)\rm to(x,y,k)to(x,y,k)代表在(x,y)(x,y)(x,y)按kkk方向推可以到达哪里(如果会循环的话就不存在)dp(i,j,x,y)\rm {dp(i,j,x,y)}dp(i,j,x,y)代表在(x,y)(x,y)(x,y)处得到i,i+1...ji ,i+1... ji,i+1...j等机器人的合体的代价。那么可以有:dp(i,j,x,y)=m...原创 2019-04-02 16:15:16 · 5842 阅读 · 0 评论 -
动态DP
f[i][1]f[i][1]f[i][1]为选点iii的最大权独立集。f[i][0]f[i][0]f[i][0]为不选iii的最大权独立集。g[u][0]g[u][0]g[u][0]为轻儿子都不选的最大值。g[u][1]g[u][1]g[u][1]为轻儿子可以选的最大值[f[v][0],f[v][1]]×[g[u][1]g[u][0]+val[u]g[u][1]−∞]=[f[u][0],f...原创 2019-03-26 22:33:51 · 650 阅读 · 0 评论 -
JZOJ 5988. 【WC2019模拟2019.1.4】珂学计树题
【问题描述】liu_runda曾经是个喜欢切数数题的OIer,往往看到数数题他就开始刚数数题.于是liu_runda出了一个数树题.听说OI圈子珂学盛行,他就在题目名字里加了珂学二字.一开始liu_runda想让选手数n个节点的不同构的二叉树的数目.但是liu_runda虽然退役已久,也知道答案就是Catalan(n),这太裸了,出出来一定会被挂起来裱.因此他把题目加强.我们从二叉树的根节点出...原创 2019-03-26 19:03:56 · 250 阅读 · 0 评论 -
BZOJ3193 JLOI2013 地形生成
最近IK正在做关于地形建模的工作。其中一个工作阶段就是把一些山排列成一行。每座山都有各不相同的标号和高度。为了遵从一些设计上的要求,每座山都设置了一个关键数字,要求对于每座山,比它高且排列在它前面的其它山的数目必须少于它的关键数字。显然满足要求的排列会有很多个。对于每一个可能的排列,IK生成一个对应的标号序列和等高线序列。标号序列就是按顺序写下每座山的标号。等高线序列就是按顺序写下它们的高度。...原创 2019-03-09 10:40:47 · 189 阅读 · 0 评论 -
2339 [HNOI2011]卡农 (DP+去重)
题目我发现这神套路居然是黑题,原来大家都和我一样被套住了做不来啊。首先最烦的是每一种都要有偶数个,然后发现并不烦,你前m-1个片段选好之后,最后一个也就是第m个片段就已经唯一确定了,然后这个限制就可以不用管了。。。。。。直接dp[i]+=P2n−1i−1dp[i] += P_{2^n-1}^{i-1}dp[i]+=P2n−1i−1第二烦的就是不能有两个相同,然后就套路了,从前面i−1i-1...原创 2019-03-08 14:59:01 · 179 阅读 · 0 评论 -
FZU 2199 Patchmania I
原题中文题面说的很清楚,这里就不转述了1.选一个萝卜i做起点,求最小距离Ai和最小距离方案数Bi。2.求覆盖所有萝卜,以洞为终点的路径条数Ci。答案方案数就是∑i=1nBi∗Ci∗[Ai==minA]\sum_{i=1}^nB_i*C_i*[Ai == minA]∑i=1nBi∗Ci∗[Ai==minA]注意Ai,BiA_i,B_iAi,Bi在统计路径时路径不能跨过#和O另外没...原创 2019-02-21 10:43:10 · 189 阅读 · 2 评论 -
ARC 063 F
在w * h 的方格中 求不含指定格点的边与方格平行的长方形的最大周长 考虑内部没有任何格点(不管是否指定)的长方形 发现周长最大为min(w , h) * 2 + 2 所以长方形一定穿过横着的中线和竖着的中线的其中一条。 考虑穿过一条线的长方形如何计算? dp[i][j]代表以横坐标为i为右边界,横坐标j为左边界的最大周长, 会发现dp值和i,j,还有i与j之间纵坐标最靠近这条线的...原创 2018-08-03 09:17:00 · 371 阅读 · 0 评论 -
HDU 6365 Shoot Game
题意:n(<300)条X轴之上且平行于X轴的线段,每条有个权值,只有你发射的射线的能量大于这个权值且射线与线段相交才能消除这个线段,求消除所有线段的最小的(能量值的和)。 一开始就想到先打最大权值线段,然后就贪心到无法自拔,然而DeadEnd 考虑DP,发现只瞄准线段端点打也可以得到最优解,发现可以把端点用斜率离散,那么我们就把一个二维计算几何问题离散成了一个一维序列问题:平面上有n条线...原创 2018-08-14 20:24:32 · 224 阅读 · 0 评论 -
AtCoder Regular Contest 066 F Contest with Drinks Hard
题意:一个长度为n的数组,选出其中几项,要最大化sigma( 1 , 1 <= L <= R <= n 且 对于L<=i<=R的i都被选中 ) - sigma( val[i] , i被选中) , 并回答q次询问 : 只有val[i]改变为k时的最大值。不考虑改变时,可以斜率优化。 改变时,分别计算选和不选i的最大值再处理选的值就行。 不选i的最大值就是正反...原创 2018-08-09 19:53:17 · 316 阅读 · 0 评论 -
雅礼集训Day3T2
题意:n个点的图,每个点有权值,有一定值m,两点a,b间有边当且仅当val[a]+val[b]>=m,将此图的点分为两部分,求两部分间的最大边数。根据连边条件,val>=m/2的所有点(记为A)构成了一个完全图,其他点(记为B)只与val>=m/2的点有连边。先不考虑B,A中的点可以贪心通过DP求最大边数(尽管可以O(1)求),F[i][j]表示某一个集合有j个点在最大的i个点中...原创 2018-07-04 15:44:59 · 297 阅读 · 0 评论 -
1D1D动态规划优化
论文第一类 :决策单调性优化,根据对于一类dp:j<k时有dp[j]转移点<=dp[k]转移点,利用单调队列维护转移对应区间。第二类 : 单调队列优化。第三类: f(x) = min( a(x) * c(i) + b(x) * d(i) )若决策点(转移点)为kf(x) = a(x) * c(k) + b(x) * d(k)d(k) = - a(x)...原创 2018-06-26 21:19:23 · 1775 阅读 · 0 评论 -
DP优化:WQS二分 或 斜率凸优化 或 带权二分
标题说的三个玩意都差得不是很多。上论文 :WQS二分例 : 在树上选k条路径使得权值和最大。。。形如这类选k个的问题,一般的做法是在DP中加一维表示已选了几条路径。但是,毒瘤一点的出题人就会把范围开到10^5,MLE+TLE这时就要用WQS二分这个小套路了。既然在DP中加一维不可取,我们只能直接DP。但是DP出来的结果并不一定是选了k个的。大佬开始了他的妄想,要是...原创 2018-06-26 21:03:57 · 1320 阅读 · 0 评论 -
一些与根号有关的性质
1.n个点的图中大小不同的联通块只有sqrt(n)个。2.度数大于自己度数的邻接点最多只有sqrt(n)个。3.一个数的约数个数最多为sqrt(n)级别的。原创 2018-07-08 16:22:33 · 1565 阅读 · 0 评论 -
线段树优化DP
线段树优化DP可以按DP方法(刷表法和填表法)分为2类。如果是填表法那么其实就是一个区间求最值等等的,十分简单。但是如果是刷表法那么就很难让人想到了,因为刷表法DP其实是没有填表法DP那么思路流畅的。刷表法就相当于是区间赋值什么的。线段树优化DP最好的一点在于,即使有O(n^2)个状态吗,如果你只需要求出其中的O(q)个状态,将线段树滚动一下或者直接原地转移,那么空间复杂度是O(n)的,时间复杂度...原创 2018-04-12 08:31:48 · 946 阅读 · 0 评论 -
[SDOI2015]序列统计
3992: [SDOI2015]序列统计Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 1829 Solved: 870[Submit][Status][Discuss]Description小C有一个集合S,里面的元素都是小于M的非负整数。他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S。小C用这个生成器生成了...原创 2018-03-04 17:04:32 · 218 阅读 · 0 评论 -
NOI.AC 运气大战
运气大战你的班上n个同学要去参加一项集体比赛。每个人有实力值和运气值。每个人的实力值是确定的,但是运气值是飘忽不定的。一个人的发挥是他的实力值wi和运气值的乘积,即wi⋅rci。班级的发挥是所有人发挥之和。每个人有一个初始运气值ri,但是每次比赛的时候,每个人的运气值是所有人运气值的一个排列,并且要满足,排列之后ii的运气值不是ri。即满足,ii的运气值是rci,{ci}是1−n1−n的排列,且...原创 2018-11-03 16:52:09 · 473 阅读 · 2 评论 -
决策单调性优化
决策单调性是对于一些dp式子,比如说ans[i] = max(a[j] + sqrt(i-j)) (j < i)如果在一个i满足a[j] + sqrt(i-j) < a[k] + sqrt(i - k)且j<k,那么可以发现在i变大的时候j也一定会比k劣,没有优于k的可能。但是对于这个决策单调性的利用方式却很多。1.四边形不等式优化二维dp,利用dp[i][j-1]的决策点...原创 2018-11-06 17:38:10 · 4346 阅读 · 0 评论 -
#6039. 「雅礼集训 2017 Day5」珠宝
题目描述Miranda 准备去市里最有名的珠宝展览会,展览会有可以购买珠宝,但可惜的是只能现金支付,Miranda 十分纠结究竟要带多少的现金,假如现金带多了,就会比较危险,假如带少了,看到想买的右买不到。展览中总共有 N 种珠宝,每种珠宝都只有一个,对于第 i 种珠宝,它的售价为 Ci 万元,对 Miranda 的吸引力为 Vi 。Miranda 总共可以从银行中取出 K万元,现在她想...原创 2018-11-06 19:45:39 · 1005 阅读 · 0 评论 -
ZOJ 2125 Rocket Mania
题意:9*6的地图上每个格子里是一种管道(-,T,L,+型或没有),可以把管道旋转0,90,180,270°0,90,180,270\degree0,90,180,270°,问地图有几行的右边界与第X行的左边界通过管道相连。插头DP论文题,注意常数因子对于程序效率的影响。用1代表带有火的插头,剩下的用最小表示法。1.不含1的状态可以舍弃。2.只含一个x的状态(x>=2)可以把x变为0...原创 2019-02-20 16:55:42 · 296 阅读 · 0 评论 -
BZOJ 3925 地震后的幻想乡
1原创 2019-03-05 11:37:22 · 192 阅读 · 0 评论 -
BZOJ 3864: Hero meet devil (从dp性质实现dp套dp)
题意:求长度为m的,字符集大小为4的,字符串,中,与字符串S(|S|<=15)的最长公共子序列长度=i的字符串数量。i ∈0→∣S∣i \ \in 0 \to |S|i ∈0→∣S∣发现这个状态十分不好定义,考虑O(n2)O(n^2)O(n2)LCS的过程:f[i][j]=max(f[i−1][j],f[i][j−1],f[i−1][j−1]∗(S[i]==T[j]...原创 2019-02-21 16:11:04 · 358 阅读 · 0 评论