DP
文章平均质量分 59
Hany01
这个作者很懒,什么都没留下…
展开
-
【BZOJ2806】【CTSC2012】熟悉的文章 Cheat (后缀自动机,二分,单调队列DP)
Descriptionclick meSolution一道不那么裸的SAM显然先要二分L,接下来的问题是怎么判断是否可行。 先用sam求出从每个位置最多可以匹配多长。考虑一个DP,dp[i]表示到第i个位置最多可以匹配多少位置,转移非常显然,用单调队列优化就行了。Code/****************************************...原创 2018-05-07 21:25:41 · 192 阅读 · 0 评论 -
【BZOJ4197】【UOJ129】【NOI2015】寿司晚宴(状压DP)
Description为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴。小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴。在晚宴上,主办方为大家提供了 n−1 种不同的寿司,编号 1,2,3,…,n−1,其中第 i 种寿司的美味度为 i+1 (即寿司的美味度为从 2 到 n)。 现在小 G 和小 W 希望每人选一些寿司种类来品尝,他们规定一种品尝方案为不和谐...原创 2018-08-04 21:47:49 · 190 阅读 · 0 评论 -
【BZOJ1499】【NOI2005】瑰丽华尔兹(DP,单调队列)
Description你跳过华尔兹吗?当音乐响起,当你随着旋律滑动舞步,是不是有一种漫步仙境的惬意?众所周知,跳华尔兹时,最重要的是有好的音乐。但是很少有几个人知道,世界上最伟大的钢琴家一生都漂泊在大海上,他的名字叫丹尼•布德曼•T.D.•柠檬•1900,朋友们都叫他1900。 1900在20世纪的第一年出生在往返于欧美的邮轮弗吉尼亚号上,很不幸他刚出生就被抛弃了,成了孤儿。1900孤独的成长...原创 2018-08-09 15:36:08 · 179 阅读 · 0 评论 -
【LOJ6089】小Y的背包计数问题(DP)
Descriptionhttps://loj.ac/problem/6089Solution我们将物品分为≤n‾√≤n\le \sqrt{n}的和>n‾√>n>\sqrt{n}的。对于>n‾√>n>\sqrt{n}的物品,我们可以将其看作是没有限制的。 至于怎么转移,我们有两种操作: 1. 加入一个大小为n‾√+1n+1\sqrt{n}+1的物品...原创 2018-08-05 21:35:22 · 432 阅读 · 0 评论 -
【BZOJ1150】【CTSC2007】数据备份(DP,凸优化)
Descriptionhttps://www.lydsy.com/JudgeOnline/problem.php?id=1150Solution凸优化入门题。 (其实可以用BZOJ2151种树的方法解决)O(n2)O(n2)O(n^2)的DP很容易想到,我们发现随着KKK的增大,答案也在增大,且增长的幅度越来越大,是一个凸的。所以我们可以二分一个值,无视KKK的限制直接D...原创 2018-08-11 20:21:57 · 301 阅读 · 0 评论 -
【CF 833B】The Bakery(DP,线段树)
Description将一个长度为n的序列分为k段使得总价值最大一段区间的价值表示为区间内不同数字的个数Solution容易得到一个简单的DP,dpi,jdpi,jdp_{i,j}表示到了第iii位、用了jjj段的最大价值,那么有dpi,j=max(dpk,j−1+value(k+1,i))dpi,j=max(dpk,j−1+value(k+1,i))dp_{i,j}=\m...原创 2018-08-02 20:54:10 · 294 阅读 · 0 评论 -
【BZOJ5311】【CF321E】贞鱼/Ciel and Gondolas(DP,凸优化)
Description众所周知,贞鱼是一种高智商水生动物。不过他们到了陆地上智商会减半。 这不?他们遇到了大麻烦! n只贞鱼到陆地上乘车,现在有k辆汽车可以租用。 由于贞鱼们并不能在陆地上自由行走,一辆车只能载一段连续的贞鱼。 贞鱼们互相有着深深的怨念,每一对贞鱼之间有怨气值。 第i只贞鱼与第j只贞鱼的怨气值记为Yij,且Yij=Yji,Yii=0。 每辆车载重不限,但是每一对在同...原创 2018-08-11 23:09:21 · 469 阅读 · 0 评论 -
【BZOJ1563】【NOI2009】诗人小G(DP,决策单调性)
Descriptionhttps://www.luogu.org/problemnew/show/P1912Solution明天写。。Code/************************************************ * Au: Hany01 * Date: Aug 5th, 2018 * Prob: BZOJ1563 诗人小G...原创 2018-08-07 22:41:03 · 345 阅读 · 0 评论 -
【BZOJ4000】【LOJ2104】【TJOI2015】棋盘(状压DP,矩阵快速幂)
Descriptionhttps://loj.ac/problem/2104 注意题中的编号是从000开始的。Solution用fi,jfi,jf_{i,j}表示第iii行状态为jjj的方案数。 发现每一行的转移都是相同的,构造出矩阵后用快速幂优化即可。Code/************************************** * Au: Ha...原创 2018-08-18 21:21:28 · 219 阅读 · 0 评论 -
【BZOJ2436】【NOI2011】NOI嘉年华(DP)
DescriptionNOI2011 在吉林大学开始啦!为了迎接来自全国各地最优秀的信息学选手,吉林大学决定举办两场盛大的 NOI 嘉年华活动,分在两个不同的地点举办。每个嘉年华可能包含很多个活动,而每个活动只能在一个嘉年华中举办。现在嘉年华活动的组织者小安一共收到了 n个活动的举办申请,其中第 i 个活动的起始时间为 Si,活动的持续时间为Ti。这些活动都可以安排到任意一个嘉年华的会场,...原创 2018-08-04 11:29:31 · 325 阅读 · 0 评论 -
【Luogu1437】【HNOI2004】敲砖块(DP)
Description在一个凹槽中放置了 n 层砖块、最上面的一层有n 块砖,从上到下每层依次减少一块砖。每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示。14 15 4 3 23 33 33 76 2 2 13 11 22 23 31如果你想敲掉第 i 层的第j 块砖的话,若i=1,你可以直接敲掉它;若i>1,则...原创 2018-08-03 20:13:47 · 204 阅读 · 0 评论 -
【LOJ2183】【BZOJ3992】【SDOI2015】序列统计(DP,原根,NTT)
Descriptionhttps://loj.ac/problem/2183Solution我是来复习NTT板子的。。容易得到一个暴力DP方法,设fi,jfi,jf_{i,j}表示到第iii位,当前余数为jjj的方案数。 将其像快速幂一样转移可以将nnn优化成lognlogn\log n。考虑怎么继续优化: 我们发现f[l][k]=∑i×j≡k(modm)f[l−...原创 2018-07-26 21:28:34 · 190 阅读 · 0 评论 -
【LOJ2292】【BZOJ4897】【THUSC2016】成绩单(DP)
Descriptionclick meSolution感觉自己还是太菜了,根本想不到啊设fi,j,l,rfi,j,l,rf_{i,j,l,r}表示将区间[i,j][i,j][i,j]删去一些元素使得区间内只剩下数值在[l,r][l,r][l,r]中的数的最小代价。(注意,可以删去其中一些[l,r][l,r][l,r]中的数) gi,jgi,jg_{i,j}表示将区间[i,...原创 2018-05-28 16:28:34 · 367 阅读 · 0 评论 -
【UOJ300】【BZOJ4903】【CTSC2017】吉夫特(DP,子集枚举)
Descriptionhttp://uoj.ac/problem/300Solution根据扩展Lucas定理,(nm)mod2=1(nm)mod2=1\binom{n}{m}\bmod 2=1的充要条件是n and m=mn and m=mn\ \mathrm{and}\ m =m。 那原创 2018-06-21 16:29:22 · 222 阅读 · 0 评论 -
【Codeforces 932G】Palindrome Partition(回文树,DP)
Description给定一个串,把串分为偶数段 假设分为了 s1,s2,s3....sks1,s2,s3....sks_1,s_2,s_3....s_k 求:满足 s1=sk,s2=sk−1......s1=sk,s2=sk−1......s_1=s_k,s_2=s_{k-1}...... 的方案数Solution神仙题哇首先将给定的串转换成下面这种形式: s1sn...原创 2018-06-24 21:13:33 · 391 阅读 · 0 评论 -
【BZOJ4361】isn(DP,容斥,树状数组)
Description给出一个长度为n的序列A(A1,A2…AN)。如果序列A不是非降的,你必须从中删去一个数,这一操作,直到A非降为止。求有多少种不同的操作方案,答案模10^9+7。Solution在DYX的容斥小结中看到的题,感觉和容斥关系不大?dp[i][j]dp[i][j]dp[i][j]表示 到第iii位,序列长度为jjj(一定取第iii位)。对于每一个j以数值为...原创 2018-07-10 14:29:39 · 302 阅读 · 0 评论 -
【BZOJ4767】两双手(DP,容斥,组合数)
Description老W是个棋艺高超的棋手,他最喜欢的棋子是马,更具体地,他更加喜欢马所行走的方式。老W下棋时觉得无聊,便决定加强马所行走的方式,更具体地,他有两双手,其中一双手能让马从(u,v)移动到(u+Ax,v+Ay)而另一双手能让马从(u,v)移动到(u+Bx,v+By)。小W看见老W的下棋方式,觉得非常有趣,他开始思考一个问题:假设棋盘是个无限大的二维平面,一开始马在原点(0,0)...原创 2018-07-10 19:51:23 · 425 阅读 · 0 评论 -
【BZOJ4200】【LOJ2134】【NOI2015】小园丁与老司机(DP,有源汇上下界最小流)
Descriptionhttps://loj.ac/problem/2134SolutionTask 1考虑将所有点以yyy为第一关键字、xxx为第二关键字排序。yyy坐标相同的点放在一起DP。 记录两个前驱。一个是在本行的前驱,如果无需跳到别的点,那么前驱等于自己;另一个是下一行的前驱。DFS一遍就可以把路径找出来了。Task 2要求选最少的路径遍历所有的边,直...原创 2018-07-24 23:07:43 · 426 阅读 · 0 评论 -
【BZOJ4316】小C的独立集(仙人掌,DP)
Description给定一个仙人掌,求最大独立集。Solution对于圆方树上的圆点和圆点之间的连边,我们和树形DP类似的转移即可。 对于每一个方点,我们将其代表的环拿出来处理,在环上跑一个简单的DP即可。Code/************************************************ * Au: Hany01 * Date...原创 2018-07-29 11:34:27 · 390 阅读 · 0 评论 -
【BZOJ1023】【SHOI2008】仙人掌图 cactus (仙人掌,DP)
Description求仙人掌直径(两点间的最短路径最长)。Solution对于圆圆边,直接转移。 对于每一个环,我们维护一个单调队列。由于必须是最短路径,也就是从环上的一点走到另一点时必须走较短的一侧,所以当队首与当前点的距离大于size/2size/2size/2时,将队首弹出,用当前队首更新答案,计算出当前环的顶端向下的最长链即可。Code/****...原创 2018-07-29 16:39:24 · 238 阅读 · 0 评论 -
【LOJ2325】【清华集训 2017】小 Y 和恐怖的奴隶主(期望DP,矩阵快速幂)
Descriptionhttps://loj.ac/problem/2325Solution首先了解一下这题的弱化版:地址克苏恩 上面的博客中计算了一个期望fff和一个概率ppp,其实只要计算ppp,答案为∑pt,i,j,ki+j+k+1∑pt,i,j,ki+j+k+1\sum \frac{p_{t,i,j,k}}{i+j+k+1}。 对于ppp,每次的转移都是一样的,可以...原创 2018-08-22 11:41:54 · 306 阅读 · 0 评论 -
【AGC017F】Zigzag(状压DP)
Description有一个nnn层的三角形,如图所示: 从顶端开始,每次可以选择向左下走或者向后下走,一直到达底端,形成一条路线。 问有多少种方案画mmm条线路满足: - mmm条线路可以重合但是不能交叉 - 给出kkk条限制,每条限制形如:Ai,Bi,CiAi,Bi,CiA_i,B_i,C_i,表示第AiAiA_i条路线的第BiBiB_i步只能向CiCiC_i方向走。...原创 2018-08-19 16:29:07 · 246 阅读 · 0 评论 -
【BZOJ3522】【POI2014】Hotel(树形DP)
Description有一个树形结构,每条边的长度相同,任意两个节点可以相互到达。选3个点。两两距离相等。有多少种方案?Solution考虑树形DP: 设f[u][k]f[u][k]f[u][k]表示uuu的子树中距离uuu为kkk的点的个数, g[u][k]g[u][k]g[u][k]表示uuu的子树中到LCA距离为ddd,uuu到LCA距离为d−kd−kd-k的点对的数...原创 2018-08-17 20:43:38 · 270 阅读 · 0 评论 -
【HDU5290】Bombing Plan(树形DP)
Description给定一棵树,每个点有一个wiwiw_i,我们可以选择一些点,使得距离该点小于等于wiwiw_i的点全部炸掉。问最少选择多少点可以炸掉整棵树。Solution树形DP。 我们设fu,jfu,jf_{u,j}表示子树uuu可以向外炸掉距离至少为jjj的点的要选择的最少的点。如果jjj为负数,表示还需要向内炸掉距离为−j−j-j的点。 转移分两种情况: 1...原创 2018-09-01 19:10:24 · 287 阅读 · 0 评论 -
【HDU5293】Tree chain problem(树形DP,树状数组)
Description给定一棵树和很多条链,每条链有一个价值,要求选择一些不相交的链使得价值和最大。Solution设dp[u]dp[u]dp[u]为子树uuu内的答案,设sum[u]=∑v∈children(u)dp[v]sum[u]=∑v∈children(u)dp[v]sum[u]=\sum_{v\in children(u)}dp[v]。 考虑每条链在LCA处理。 ...原创 2018-09-04 22:07:29 · 297 阅读 · 0 评论 -
【ARC101E】Ribbons on Tree(树形DP,容斥原理)
Description给定一棵点数为偶数的树,要求有多少种将点两两配对的方案使得每一条边至少被一对匹配点之间的最短路径覆盖。Solution根本想不到的DP系列。首先考虑一个容斥,设F(E)F(E)F(E)表示至少将边集EEE中的边全部拆掉所形成的联通块配对的方案数,那么答案等于∑EF(E)×(−1)|E|∑EF(E)×(−1)|E|\sum\limits_{E}F(E)\...原创 2018-09-02 20:29:39 · 745 阅读 · 0 评论 -
【BZOJ4013】【HNOI2015】实验比较(树形DP,组合)
Descriptionhttps://www.lydsy.com/JudgeOnline/problem.php?id=4013Solution先将相等的都丢进一个并查集,又因为有条件:“小 D 都最多只记住了某一张质量不比 i 差的另一张图片 Ki”,我们对大小关系进行建图后是一棵树(如果是森林,我们新建一个点连接所有根节点即可)。 设dp[u][i]dp[u][i]dp[...原创 2018-09-28 23:50:37 · 166 阅读 · 0 评论 -
【清橙A1212】剪枝(树形DP)
Descriptionhttp://www.tsinsen.com/A1212Solution对于每一个叶子节点,它到根的路径上存在且仅存在一个点作为最终答案中的叶子节点。 我们从左向右考虑每一条路径,设dp[u]dp[u]dp[u]表示将路径上的uuu的下面剪掉获得的最大价值。 我们从左向右转移,对于相邻的两个叶子节点,我们只需考虑它们LCA以下的节点。 如果我们对于右...原创 2018-09-28 23:50:44 · 262 阅读 · 0 评论 -
【BZOJ4784】【ZJOI2017】【UOJ290】仙人掌(DP)
Descriptionhttp://uoj.ac/problem/290Solution首先判断是不是一个仙人掌/树,如果不是,直接输出0. 然后将返祖边所覆盖的边删掉,形成了一个森林,我们就只要算在这个森林中连边的方案。 设g[i]g[i]g[i]表示一个点有iii个儿子,可以将儿子两两配对(允许不配对)的方案,那么显然有: g[i]=g[i−1]+g[i−2]∗(i−...原创 2018-09-28 23:50:17 · 255 阅读 · 0 评论 -
【清橙A1202】【BZOJ2201】彩色圆环(DP,期望)
Descriptionhttp://www.tsinsen.com/new/A1202Solution我们考虑一个DP:设dp[i][0/1]dp[i][0/1]dp[i][0/1]表示长度为iii的序列,开头和结尾相同/不相同的期望美观程度,那么显然有转移:dp[i][0]+=dp[j][1]∗(i−j)∗(1/m)i−jdp[i][0] += dp[j][1] * (i - j) ...原创 2018-09-28 23:47:18 · 319 阅读 · 0 评论 -
【BZOJ2253】纸箱堆叠(CDQ分治,DP)
Descriptionhttps://www.lydsy.com/JudgeOnline/problem.php?id=2253Solution只有三维严格小于另一个箱子才可以转移,直接CDQ分治即可。Code/************************************************ * Au: Hany01 * Date: Sep 26th, 2018...原创 2018-09-28 23:48:51 · 279 阅读 · 0 评论 -
【CF908G】New Year and Original Order(数位DP)
Description设S(n)S(n)S(n)表示将nnn的十进制各位从小到大排序后的值,求∑i=1nS(i)∑i=1nS(i)\sum\limits _{i=1}^n S(i)。Solution设fi,j,k,limitfi,j,k,limitf_{i,j,k,limit}表示前iii位、有kkk位的值大于jjj、是否达到上界的方案数,转移很显然。 最后计算答案的时候,对...原创 2018-08-28 21:44:56 · 452 阅读 · 0 评论 -
【LOJ6039】【雅礼集训 2017 Day5】珠宝(DP,决策单调性)
Description有 NNN 个珠宝 , 每个珠宝价值 CiCiC_i , 能产生 ViViV_i 的愉悦度 , 现在你有 MMM元 , 问你最多能获得多大的愉悦度 , 对于 M∈[1,K]M∈[1,K]M \in [1, K] 回答问题 . N≤106,K≤104,Ci≤300N≤106,K≤104,Ci≤300N\le 10^6, K\le 10 ^ 4, \mathbf{C_i \...原创 2018-08-28 19:27:37 · 646 阅读 · 0 评论 -
【BZOJ4380】【POI2015】Myjnie(区间DP)
Description有n家洗车店从左往右排成一排,每家店都有一个正整数价格p[i]。有m个人要来消费,第i个人会驶过第a[i]个开始一直到第b[i]个洗车店,且会选择这些店中最便宜的一个进行一次消费。但是如果这个最便宜的价格大于c[i],那么这个人就不洗车了。请给每家店指定一个价格,使得所有人花的钱的总和最大。Solution设fl,r,kfl,r,kf_{l,r,k}表示只...原创 2018-08-28 14:37:13 · 180 阅读 · 0 评论 -
【BZOJ4543】【POI2014】Hotel加强版(树形DP,长链剖分)
Description有一个树形结构,每条边的长度相同,任意两个节点可以相互到达。选3个点。两两距离相等。有多少种方案? n≤105n≤105\mathbf{n\le 10^5}Solutionn≤5×103n≤5×103n\le 5\times 10 ^ 3范围的O(n2)O(n2)O(n^2)题解戳这里: https://blog.csdn.net/hhaannyyii...原创 2018-08-17 20:50:27 · 277 阅读 · 0 评论 -
【BZOJ4182】Shopping(点分治,树上多重背包,单调队列)
Description马上就是小苗的生日了,为了给小苗准备礼物,小葱兴冲冲地来到了商店街。商店街有n个商店,并且它们之间的道路构成了一颗树的形状。第i个商店只卖第i种物品,小苗对于这种物品的喜爱度是wi,物品的价格为ci,物品的库存是di。但是商店街有一项奇怪的规定:如果在商店u,v买了东西,并且有一个商店w在u到v的路径上,那么必须要在商店w买东西。小葱身上有m元钱,他想要尽量让小苗开心...原创 2018-08-30 16:53:24 · 392 阅读 · 0 评论 -
【BZOJ3812】【UOJ37】【清华集训2014】主旋律(状压DP)
Description给定有向图,询问有多少种删边的方案满足剩余部分强联通。Solution设f[S]f[S]f[S]表示有多少个边集使点集S构成了一个强连通分量 g[S]g[S]g[S]表示有多少个边集使点集S划分成互相之间没有边偶数个强连通分量 h[S]h[S]h[S]表示有多少个边集使点集S划分成互相之间没有边奇数个强连通分量 那么有转移: g[S...原创 2018-08-20 17:26:06 · 361 阅读 · 0 评论 -
【AGC016F】Games on DAG(SG函数,状压DP,子集枚举)
Description有一个DAG,1号点和2号点各有一个石子.两个玩家交替将其中一个石子沿着一条有向边移动,不能移动的玩家输掉游戏.问有多少种选边的方案使得先手必胜.Solution将题目的条件转化成111号点和222号点的SG函数不相等. 我们设fSfSf_{S}表示对于点集SS\mathbf{S}有多少种选边方案使得1号点和2号点SGSGSG函数相等.(SSS要么同时包...原创 2018-08-27 21:18:15 · 428 阅读 · 0 评论 -
【BZOJ2734】【HNOI2012】集合取数(状压DP)
Description《集合论与图论》这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x 在该子集中,则 2x 和 3x 不能在该子集中。同学们不喜欢这种具有枚举性 质的题目,于是把它变成了以下问题:对于任意一个正整数 n≤100000,如何求出{1, 2,…, n} 的满足上述约束条件的子集的个数(只需输出对 1,000,000,001 取模...原创 2018-08-20 19:56:11 · 196 阅读 · 0 评论 -
【CF908H】New Year and Boolean Bridges(容斥,状压DP)
Description有一个n个点的有向图。 定义i能到达j时f(i,j)=1,否则f(i,j)=0。 对于每个点对(i,j),给定以下三个条件中的某一个为真: (1) f(i,j) and f(j,i)=1; (2) f(i,j) or f(j,i)=1; (3) f(i,j) xor f(j,i)=1。 求满足条件时的最小边数。 1<=n<=47。So...原创 2018-08-30 21:57:23 · 402 阅读 · 0 评论