---DP
BAJim_H
比孤独更可悲的事情,就是根本不知道自己很孤独,或者分明很孤独,却把自己都骗得相信自己不孤独。
展开
-
[JZOJ5641] 林克卡特树【树形DP】【凸优化】
Description给定一棵n个节点的树,边有边权(可能为负)。你需要删掉恰好K条边,再连上恰好K条边权为0的边,并保证连完边后这还是一棵树,求这棵树的最大的最长路长度。K&lt;n≤300000K&lt;n\leq 300000K<n≤300000,∣边权∣≤106|边权|\leq 10^6∣边权∣≤106Solution转化模型删K条边再加K条边,那么对于新...原创 2018-10-28 22:03:15 · 406 阅读 · 0 评论 -
[JZOJ6073]【GDOI2019模拟2019.3.20】河【DP】【几何】
DescriptionSolution我们考虑一条x=INF的垂直于x轴的直线lll。对于一条河,考虑与这条直线的交点,显然只与斜率大小有关,斜率相同时才与截距有关。可以发现,对于任意一条河,它能够污染的范围都是一个区间我们将所有的河流按照斜率为第一关键字,截距为第二关键字排序,这就是它们与直线lll的交点的顺序。容易发现,一条河流能影响的区间下端就是截距比它大的且斜率最小的那个,...原创 2019-03-20 20:19:25 · 196 阅读 · 0 评论 -
[JZOJ6075]【GDOI2019模拟2019.3.20】桥【DP】【线段树】
DescriptionN,M<=100000,S,T<=1e9Solution首先可以感受一下,我们把街道看成一行,那么只有给出的2n个点的纵坐标是有用的,于是我们可以将坐标离散化至O(n)级别。显然出发地和目的地的地位是相同的,因此我们强制要求从编号小的街道走向标号大的街道。我们考虑一个朴素的DP,记F[i][j]F[i][j]F[i][j]表示当前转移到了第i行,连接第...原创 2019-03-21 21:52:16 · 245 阅读 · 0 评论 -
[JZOJ6067]【NOI2019模拟2019.3.18】More?More!【DP】【数学】
Description有n个人,它们两两进行一场对决,对于一场对局的双方i,j,i<ji,j,i<ji,j,i<j,i有p的概率会赢,j有(1-p)的概率赢(p对于所有人都是一样的)能区分出前i名定义为能选择出i个人的一个集合,这个集合中的每个人都击败了集合外的所有人。求能区分出1~n-1名的概率。答案对998244353取模n<=1000000...原创 2019-03-18 20:44:16 · 220 阅读 · 0 评论 -
[JZOJ6082]【GDOI2019模拟2019.3.25】染色问题【多项式】【DP】
Description考虑一个长度为n的序列,你需要用颜色1~m依次对序列染色每次染色只能选择一段区间来染,要求最后整个序列没有未染色的元素。问最终的颜色序列的种类数,答案对998244353取模。Solution我们考虑这样一个DP设F[i][j]F[i][j]F[i][j]表示当前染了前i种颜色,已经覆盖了jjj个元素。有F[i][j]=F[i−1][j]+∑k=0j−1F[i−...原创 2019-03-26 08:11:00 · 515 阅读 · 0 评论 -
【WC2019】数树【计数】【DP】【多项式】
Description此题含有三个子问题问题1:给出n个点的两棵树,记m为同时在两棵树中的边的个数,求ymy^mym问题2:给出n个点的一棵树,另外一棵树任意生成,求所有方案总的ymy^mym的和问题3:两棵树均任意生成,求所有方案总的ymy^mym的和Solution留坑待填Code#include <bits/stdc++.h>#define fo(i,a,...原创 2019-04-20 21:48:44 · 246 阅读 · 0 评论 -
稀疏图的随机游走问题
Description给出一张n个点,m条边的平面图,从1号点开始随机游走,抵达n号点则结束,问期望步数?n<=5000Solution这题在wxh的IOI2019国家候选队论文中也提到了首先考虑平面图有什么好性质,它的边数不会很多!实际上(根据论文),大于等于3个点的平面图边数不会超过3n-6,也就是说边数和点数是同阶的。我们可以将概率写成数列的形式,实际上它是一个线性递推具...原创 2019-05-09 19:53:28 · 840 阅读 · 0 评论 -
[LibreOJ 3124]【CTS2019】氪金手游【容斥原理】【概率】【树形DP】
DescriptionSolution首先它的限制关系是一个树形图首先考虑如果它是一个外向树该怎么做。这是很简单的,我们相当于每个子树的根都是子树中最早出现的点,概率是容易计算的。设DP状态f[i][j]f[i][j]f[i][j]为做到以i为根的子树,子树中权值W的和为j且满足限制关系的概率。然后就可以直接利用子树背包DP来转移了。如果有些边是反向(儿子到父亲)的,我们可以通过...原创 2019-05-21 20:14:06 · 265 阅读 · 0 评论 -
【PKUSC2019】树染色【线段树合并】【树形DP】
Description给出一棵n个点的树,现在有m种颜色,要给每个节点染色,相邻节点不能同色。另外有k条限制,形如x号点不能为颜色y同一节点有可能哟多条限制。求方案数对998244353取模的结果。Solution考场上一直在想怎么容斥做,怎么都弄不出来。学傻了。考虑暴力DP设f[i][j]f[i][j]f[i][j]为当前处理了以i为根的子树,i的颜色为j的方案数。记g[i]...原创 2019-05-29 11:54:54 · 744 阅读 · 0 评论 -
【杂题】[AGC034F] RNG and XOR【集合幂级数】【FWT】【DP】
Description你有一个随机数生成器,它会以一定的概率生成[0,2^N-1]中的数,每一个数的概率是由序列A给定的,Pi=Ai/sum(Ai)现在有一个初始为0的数X,每一轮随机生成一个数v,将X变成X xor v求X变成0~2^N-1的期望轮数答案对998244353取模N<=18,Ai<=1000Solution不妨反过来做,f[i]为i到0的期望轮数,显然等价...原创 2019-06-12 22:03:09 · 602 阅读 · 0 评论 -
【PKUSC2019】线弦图【计数】【树形DP】【分治FFT】
Description定义线图为把无向图的边变成点,新图中点与点之间右边当且仅当它们对应的边在原图中有公共点,这样得到的图。定义弦图为不存在一个长度大于3的纯环,纯环的定义是在环上任取两个不相邻的点,它们之间都没有边,也就是不存在没有弦的环的无向图。现在给出一棵n个点的树,你可以在上面添加任意多条边(不能重边),要求得到的图的线图是弦图,求加边的方案数。n<=200000Solut...原创 2019-05-29 20:08:12 · 475 阅读 · 0 评论 -
[JZOJ6223] 互膜 【线段树】【单调栈】【DP】
DescriptionSolution我们可以设一个朴素的DP记f[i][0/1]f[i][0/1]f[i][0/1]表示第i−1i-1i−1轮上一个人是否操作了i这个位置,当前先手-当前后手的权值的最大值。显然Ans=Sum+f[1][0]Ans=Sum+f[1][0]Ans=Sum+f[1][0]容易得到转移f[i][0]=−f[i+1][1]+s[i]f[i][0]=-f[i+1...原创 2019-06-30 22:15:18 · 205 阅读 · 0 评论 -
[JZOJ6044]【NOI2019模拟2019.3.7】联邦【状压DP】【子集卷积】【FWT】
DescriptionSolution城市规划想必都做过,求无向连通图的个数这题的思路是类似的设G[S],F[S]G[S],F[S]G[S],F[S]分别表示选取了S中的点所有图的c的乘积的和,以及连通图的c的乘积的和。G[S]G[S]G[S]可以简单O(2n∗n2)O(2^n*n^2)O(2n∗n2)预处理对于F,考虑总的减去不连通的,枚举编号最小/最大的点所在的连通块,令其为i...原创 2019-03-08 21:35:45 · 333 阅读 · 0 评论 -
【USACO 2018 December Contest, Platinum Problem 2】Sort It Out [JZOJ100129] 排序【DP】【线段树】
Description以下是翻译魔改版题面:FJ有N条胖头鱼(分别用1…N编号)排成一行。FJ喜欢他的胖头鱼以升序排列,不幸的是现在他们的顺序被打乱了。在过去FJ曾经使用一些诸如“冒泡排序”的开创性的算法来使他的胖头鱼排好序,但今天他想偷个懒。取而代之,他会每次对着一条胖头鱼叫道“按顺序排好”。当一条胖头鱼被叫到的时候,他会确保自己在队伍中的顺序是正确的(从他的角度看来)。只要有一...原创 2019-02-27 10:16:14 · 379 阅读 · 0 评论 -
[JZOJ6029]【GDOI2019模拟2019.2.25】染色【无实现】【DP】【计数】
DescriptionSolutionk=0很简单,显然染色总方案数是cn−1c^{n-1}cn−1种。k=1,树上连通块数的经典计算方式是点数-边数,但此时还要减去大小为1的连通块数。每种颜色的边数和是n-1那么∑i=1cf(i)=n∗c−(n−1)−∑i=1cai\sum\limits_{i=1}^{c}f(i)=n*c-(n-1)-\sum\limits_{i=1}^{c}a_...原创 2019-02-25 22:33:44 · 305 阅读 · 0 评论 -
【杂题】[BZOJ4709]【JSOI2011】柠檬
Description有一个长度为n的序列a你需要这个序列分成若干段,每个段可以任意指定一个数t,设v为t在这段中出现的次数,这一段的收益就是v2∗tv^2*tv2∗t求最大的总收益和n≤100000,ai≤10000n\leq 100000,ai\leq 10000n≤100000,ai≤10000Solution显而易见的是,最优情况下任何一段的开头和结尾的数都是相同的,且都是我们...原创 2018-10-31 11:49:49 · 295 阅读 · 0 评论 -
[JZOJ5874] 小P的决心
DescriptionSolution我们发现根据题目中剪枝的定义,如果一个点有兄弟,那么就要么不删这个点,要么将它和它的兄弟全部删掉。考虑按照DFS序来DP,令F[i]为假设i为最后一个叶子,它的最大答案(DFS序在i后面的不管)考虑哪些点能转移到F[i],设x为i的第一个有兄弟的祖先,且x不是father[x]的第一个儿子。那么能转移到F[i]的一定是x的前一个兄弟一直向右下(就...原创 2018-09-22 19:30:47 · 306 阅读 · 0 评论 -
【杂题】[LibreOJ #2886]【APIO2015】巴厘岛的雕塑【DP】【按位确定】
Description巴厘岛的一条主干道上共有 N 座雕塑,依次编号为 1 到 N。雕塑 i 的年龄为 Yi 。政府想把这些雕塑分成恰好 X 组,要求 A≤X≤B。每组不能为空,且每组雕塑的编号必须连续。每个雕塑必须属于某一组。分组方案需要考虑美观程度。计算方法如下:分别计算每组雕塑的年龄之和,然后将每一组的结果按位取或,就得到了该分组方案的美观值。求最小的美观值。对于71%的数据...原创 2018-10-31 16:29:23 · 178 阅读 · 0 评论 -
[JZOJ5939]【NOIP2018模拟10.30】阻击计划
Description小R和小Z打算在这个周末一起骑车在G国的城市看风景,G国的城市有n个城市,m条双向道路,这m条边中,有n-1条道路已经铺设完毕,任意两个城市之间都有一条由铺设好的道路组成的路径。由于G国经常收到周围强大力场的影响,**G国的每个城市至多是十条道路的端点(**包括铺设好和未铺设好的道路)。小R和小Z制订了这样一个Van耍计划:从一个城市开始,沿着G国的道路骑行,途中不经...原创 2018-10-30 22:11:35 · 249 阅读 · 0 评论 -
[JZOJ5944]【NOIP2018模拟11.01】信标
Description对于 100% 的数据, 1 ≤ n ≤ 1000000, 1 ≤ u, v ≤ n, 保证数据合法.Solution显然,当n>1时答案>0因此我们不妨枚举一个点作为根,它是必须要放的,那么深度不同的节点就被区分了。对于一个节点,假设它有k个儿子,那么至少要在k-1个儿子子树中有信标证明:显而易见,若有两个子树没有信标,那么靠其他的子树中的信标以及...原创 2018-11-01 16:06:09 · 333 阅读 · 0 评论 -
[JZOJ5952] 凯旋而归 ([BZOJ 5092]【Lydsy1711月赛】分割序列)【高维前缀和】【DP】
Description对于一个长度为m的序列a,记f(a)=max((a1 xor ... xor ai)+(ai+1 xor ... xor an)),i∈[0,m]f(a)=\max((a_1\ xor\ ...\ xor\ a_i)+(a_{i+1}\ xor\ ...\ xor\ a_n)),i\in[0,...原创 2018-11-06 15:00:48 · 256 阅读 · 0 评论 -
[JZOJ 5957] scarborough fair【状压DP】【图论】
Description给定一个n个点m条边的无向图每条边有一个不出现的概率(不为0),求连通块数的期望无重边自环n≤17,m≤n(n−1)2n\leq 17,m\leq {n(n-1)\over 2}n≤17,m≤2n(n−1)Solution考虑单独计算每个连通块的贡献,我们可以枚举一个点集,然后令它自成一个连通块,算出概率,乘上它的所有出边不出现的概率,这就是这个连通块对总期望的...原创 2018-11-07 21:46:59 · 216 阅读 · 0 评论 -
[JZOJ5976] 打怪兽 【DP】【决策单调性】
DescriptionSolution首先发现性质可以看出,如果上一次叠的甲还没有掉完,那么此时是不会叠甲的因为这时候叠甲,不如把这些甲移到上次一起叠,那么肯定是更优的。那么现在就相当于用若干个下降且不交的三角形来覆盖这个序列。考虑DP设F[i][j]F[i][j]F[i][j]表示1到i-1我们已经处理完了,已经花了j层甲,现在是一层也没有的最大总挡掉的伤害值。要么直接从i-...原创 2018-12-15 21:21:42 · 358 阅读 · 0 评论 -
【2019.1.8模拟赛】Tree 【长链剖分】【凸优化】【DP】
Description给出一棵n个点的树,每个点有点权,要求在树上选出恰好m条点不相交的链,每条链至少有k个点,要求点权和最大。n≤150005n\leq 150005n≤150005Solution看到恰好选出m条链,立刻反应到是凸优化,二分选择一条链需要花费的额外代价但是要求每条链至少有K个点。设f[i]f[i]f[i]为i子树中随便选若干条链的答案(满足k的限制)一个点的贡献大...原创 2019-01-10 15:37:48 · 262 阅读 · 0 评论 -
【2019.1.2模拟赛】赛前准备【区间DP】【树上括号序】
Description给出两棵有根且带边权的树,每个点的儿子之间有顺序要求通过以下若干种操作使得这两棵树相同相同的定义是存在一种编号映射使得两棵树、边权、儿子顺序等完全相同。其中c1,c2为给定常数。现在给出这两棵树,求最小代价使它们相同。第一棵树点数&amp;lt;=50,第二棵树&amp;lt;=2000,边权&amp;lt;=1e6第一棵树点数&amp;lt;=50,第二棵树...原创 2019-01-03 10:57:39 · 198 阅读 · 0 评论 -
[JZOJ6021]【GDOI2019模拟2019.2.15】车【容斥原理】【计数】
Description将 n 个车摆在 n × n 的棋盘上,每个格子最多摆放一个,并且每行每列和两条最长的对角线上至少有一个车,并且有 m 个格子不能摆放。问方案数。T组数据Solution每行每列至少有一个,且总个数等于行数,那就是每行每列恰好有一个。我们发现m很小,显然这就是让你2m2^m2m容斥的即强制选出一些不能选的位必须选,乘上(-1)^强制选的个数这样相当于某些位置...原创 2019-02-15 16:50:10 · 557 阅读 · 0 评论 -
[JZOJ2724] 圆【计算几何】【数据结构】【DP】
Description二维坐标平面内有n个圆,第i个圆圆心在(Xi,Yi),半径为Ri,权值Vi。任何两个圆都不会相交(也不会相切),但是圆与圆之间可能存在包含关系。当我们在一个圆里面的时候,我们必须经过它的边界一次,才能走出这个圆。对于不同的两个圆A、B,如果可以从A到B且经过不超过K次边界,则称A、B是连通的。现在的问题是:对于所有的连通的一对圆(A,B),权值差的绝对值最大有多少。即找到...原创 2019-02-21 15:24:34 · 316 阅读 · 0 评论 -
【杂题】[CodeForces 827 F] Dirty Arkady's Kitchen【DP】【最短路】【堆】
原题链接:http://codeforces.com/problemset/problem/827/FDescription给出一张n个点,m条边的无向图,经过每条边所花费的时间均为1每一条边有一个出现时间区间[l,r][l,r][l,r],也就是说,你只能在[l,r−1][l,r-1][l,r−1]这一个时间区间内进入这条边,并且进入就不能回头,只能走到另一个端点。你在时刻0时在1号点,...原创 2019-02-22 21:12:17 · 265 阅读 · 0 评论 -
[JZOJ6221] 担心 【区间DP】【概率】
Description有n个人,每个人有水平值AiA_iAi每一轮随机挑选剩余的相邻两人单挑,假设两人能力值为a,ba,ba,b,则能力值为aaa的人有aa+ba\over a+ba+ba的概率获胜,能力值为bbb的人有ba+bb\over a+ba+bb的概率获胜。给出n,m以及A,问第m个人获胜的概率,答案对998244353取模。n≤100000,A≤109n\leq 1000...原创 2019-06-30 22:15:12 · 194 阅读 · 0 评论