
DP
文章平均质量分 66
ez_yww
这个作者很懒,什么都没留下…
展开
-
【UOJ347】【WC2018】通道 边分治 虚树 DP
题目大意 给你三棵树,点数都是nnn。求 maxi,jd1(i,j)+d2(i,j)+d3(i,j)maxi,jd1(i,j)+d2(i,j)+d3(i,j)\max_{i,j}d_1(i,j)+d_2(i,j)+d_3(i,j) 其中dk(i,j)dk(i,j)d_k(i,j)是在第kkk棵数中i,ji,ji,j两点之间的距离。 n≤100000n≤100000n\leq...原创 2018-02-13 09:40:41 · 1406 阅读 · 0 评论 -
【XSY2668】排列统计 DP
题目描述 给你一个长度为nn的排列aa,每次要选择两个数,交换这两个数(这两个数可以相同)。总共要交换kk次。 最后要统计数列中有多少位置ii满足maxj≤iai=ai\max_{j\leq i}a_i=a_i。求前面这个东西的期望。 n≤100,k≤80n\leq 100,k\leq 80题解 毒瘤题。。。 我们枚举每个数yy每在个位置xx的贡献。把其他数中大于yy的看成11,把其他数中原创 2017-12-29 08:39:59 · 329 阅读 · 0 评论 -
【XSY2665】没有上司的舞会 LCT DP
题目大意 有一棵树,最开始只有一个点。每次会往这棵树中加一个点,总共nn次。输出每次加点后树的最大独立集大小。 强制在线。 n≤300000n\leq 300000题解 显然是LCT。 那么要维护什么呢? 先看看DP方程:设fi,0f_{i,0}为以ii为根的子树中ii这个点不选的答案,fi,1f_{i,1}为ii这个点选的答案。显然 fi,0fi,1=∑vmax(fv,0,fv,1)原创 2017-12-23 21:32:26 · 365 阅读 · 0 评论 -
【XSY2666】排列问题 DP 容斥原理 分治FFT
题目大意 有nn种颜色的球,第ii种有aia_i个。设m=∑aim=\sum a_i。你要把这mm个小球排成一排。有qq个询问,每次给你一个xx,问你有多少种方案使得相邻的小球同色的对数为xx。 n≤10000,m≤200000n\leq 10000,m\leq 200000题解 我们考虑把这些小球分段,每段内所有小球颜色相同,但相邻两段的小球颜色可以相同。 设第ii种颜色有bib_i段,那原创 2017-12-23 19:31:47 · 482 阅读 · 0 评论 -
【BZOJ5119】【CTT2017】生成树计数 DP 分治FFT 斯特林数
题目大意 有nn个点,点权为aia_i,你要连接一条边,使该图变成一颗树。 对于一种连边方案TT,设第ii个点的度数为did_i,那么这棵树的价值为: val(T)=(∏i=1nadiidmi)(∑i=1ndmi)val(T)=(\prod_{i=1}^na_i^{d_i}d_i^m)(\sum_{i=1}^nd_i^m) 求所有生成树的价值和mod998244353\bmod 99原创 2017-12-12 10:02:03 · 905 阅读 · 0 评论 -
【BZOJ1004】【HNOI2008】Cards 群论 置换 burnside引理 背包DP
题目描述 有nn张卡牌,要求你给这些卡牌染上RGB三种颜色,rr张红色,gg张绿色,bb张蓝色。 还有mm种洗牌方法,每种洗牌方法是一种置换。保证任意多次洗牌都可用这mm种洗牌法中的一种代 替,且对每种洗牌法,都存在一种洗牌法使得能回到原状态。 问你本质不同的染色方法有多少种。 r,g,b≤20,m≤60r,g,b\leq 20,m\leq 60题解 对照置换群的定义,可以发现这mm种置原创 2017-11-24 12:41:39 · 291 阅读 · 0 评论 -
【XSY2524】唯一神 状压DP 矩阵快速幂 FFT
题目大意 给你一个网格,每个格子有概率是11或是00。告诉你每个点是00的概率,求11的连通块个数modd=0\bmod d=0的概率。 最开始所有格子的概率相等。有qq次修改,每次修改一个格子的概率。要求输出初始时和每次修改后的概率。 n≤200000,m≤3,d≤10,q≤1000n\leq 200000,m\leq 3,d\leq 10,q\leq 1000题解 很容易想到状压DP:前原创 2017-12-20 07:41:57 · 435 阅读 · 0 评论 -
【XSY1476】平凡之路 斜率优化DP
题目大意 有nn个格子,一开始你在11号格子。每次你只能往编号更大的格子走。从第ii个格子走到第jj个格子的代价是ai+aj×(j−i)×ma_i+a_j\times(j-i)\times m aia_i为与ii互质且不大于i的正整数的个数。 n≤1000000n\leq 1000000题解 显然ai=ϕ(i)a_i=\phi(i)。 如果j<kj<k且jj比kk优,那么 fj+aj+a原创 2017-12-08 20:43:00 · 200 阅读 · 0 评论 -
【XSY1545】直径 虚树 DP
题目大意 给你一棵nn个点的树,另外还有mm棵树,第ii棵树与原树的以rir_i为根的子树形态相同。这mm棵树之间也有连边,组成一颗大树。求这棵大树的直径+1+1。题解 我们先用DP求出以原树的第ii个点为根的子树的直径,那么以原树的第ii个点为根的子树中的某个点为一个端点的最长路一定在直径的一段。 然后我们遍历第ii棵树与其他树之间的边,求出每个点走到其他树的最长路。然后用虚树+DP合原创 2017-08-14 13:07:42 · 335 阅读 · 1 评论 -
【BZOJ1578】【USACO2009Feb】股票市场 背包DP
题目大意 告诉你nn只股票在这mm天内的价格,给你ss元的初始资金,问你mm天后你最多拥有多少钱。 n≤50,m≤10,s≤200000,n\leq 50,m\leq 10,s\leq 200000,答案≤500000\leq 500000题解 首先我们可以认为第ii天买的所有股票都会在第i+1i+1天卖出(如果不卖出就可以看成卖出再买入)。 那么我们可以把第ii天的价格看成体积,把第i+1原创 2017-11-03 14:18:29 · 260 阅读 · 0 评论 -
【CF809E】Surprise me! 树形DP 虚树 数学
题目大意 给你一棵nn个点的树,每个点有权值aia_i,aa为一个排列,求 1n(n−1)∑i=1n∑j=1nϕ(aiaj)disti,j\frac{1}{n(n-1)}\sum_{i=1}^n\sum_{j=1}^n \phi(a_ia_j)dist_{i,j} n≤200000n\leq 200000题解ansf(d)F(d)F(d)f(d)=1n(n−1)∑i=1n∑j=1nϕ(原创 2017-10-17 15:53:09 · 641 阅读 · 0 评论 -
【CTSC2017】【BZOJ4903】吉夫特 卢卡斯定理 DP
题目描述 给你一个长度为nn的数列aa,求有多少个长度≥2\geq 2的不上升子序列ab1,ab2,…,abka_{b_1},a_{b_2},\ldots,a_{b_k}满足 ∏i=2k(abi−1abi)mod2>0\prod_{i=2}^k\binom{a_{b_{i-1}}}{a_{b_i}}\mod 2>0 答案对109+7{10}^9+7取模。 n≤211985,原创 2018-01-15 11:43:54 · 582 阅读 · 0 评论 -
【XSY2703】置换 数学 置换 DP
题目描述 对于置换pp,定义f(p)f(p)为最小的正整数kk,使得pkp^k为恒等置换。 你需要求对于所有的nn元素置换pp,f2(p)f^2(p)的平均值。 n≤200n\leq 200题解 考虑把置换拆成很多个循环。 f(p)f(p)就是所有循环的长度的lcmlcm 可以考虑DP,设fi,jf_{i,j}为放了ii个位置,当前所有循环长度的lcml原创 2018-01-23 16:19:36 · 761 阅读 · 0 评论 -
【UOJ348】【WC2018】州区划分 状压DP FWT
题目大意 给定⼀个nnn个点的⽆向图,对于⼀种nnn个点的划分{S1,S2,…,Sk}{S1,S2,…,Sk}\{S_1,S_2,\ldots,S_k\},定义它是合法的,当且仅当每个点都在其中的一个集合中且对于任何的i∈[1,k]i∈[1,k]i\in[1,k],点集SiSiS_i⾮空,且导出⼦图不存在欧拉回路。 给定数组wiwiw_i,求对于所有合法的划分{s1,s2,…,sk}{...原创 2018-02-12 09:24:29 · 1094 阅读 · 0 评论 -
【BZOJ3997】【TJOI2015】组合数学 Dilworth定理 DP
题目描述 有一个n×mn\times m的网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右走。问至少走多少次才能将财宝捡完。 此对此问题变形,假设每个格子中有好多财宝,而每一次经过一个格子至多只能捡走一块财宝,至少走多少次才能把财宝全部捡完。 n,m≤1000n,m\leq 1000题解 定义偏序关系 把一个格子拆成很多个点,每个点代表一个财宝。原创 2018-01-19 09:20:46 · 352 阅读 · 0 评论 -
【XSY2727】Remove Dilworth定理 堆 树状数组 DP
题目描述 一个二维平面上有nn个梯形,满足: 所有梯形的下底边在直线y=0y=0上。 所有梯形的上底边在直线y=1y=1上。 没有两个点的坐标相同。 你一次可以选择任意多个梯形,必须满足这些梯形两两重叠,然后删掉这些梯形。 问你最少几次可以删掉所有梯形。 n≤105n\leq {10}^5题解 先把坐标离散化。 定义AA为所有梯形原创 2018-01-19 08:56:54 · 332 阅读 · 0 评论 -
【XSY2709】count DP
题目描述 有一个序列AA,你可以随意排列这个序列,设s=∑n−1i=1|ai−ai+1|s=\sum_{i=1}^{n-1}|a_i-a_{i+1}| 。 问你最终s≤ms\leq m的方案数有几种。 保证AA中的元素两两不同。 n≤100,ai,m≤1000n\leq 100,a_i,m\leq 1000题解 考虑从大到小把AA中的元素插回去。 插入原创 2018-01-10 08:30:29 · 278 阅读 · 0 评论 -
【BZOJ4944】【NOI2017】泳池 概率DP 常系数线性递推 特征多项式 多项式取模
题目大意 有一个1001×n1001×n1001\times n的的网格,每个格子有qqq的概率是安全的,1−q1−q1-q的概率是危险的。 定义一个矩形是合法的当且仅当: 这个矩形中每个格子都是安全的 必须紧贴网格的下边界 问你最大的合法子矩形大小为kkk的概率是多少。 n≤109,k≤1000n≤109,k≤1000n\leq {10}^9,k...原创 2017-11-30 18:51:38 · 2482 阅读 · 7 评论 -
【XSY2730】Ball 多项式exp 多项式ln 多项式开根 常系数线性递推 DP
题目大意 一行有nn个球,现在将这些球分成kk 组,每组可以有一个球或相邻两个球。一个球只能在至多一个组中(可以不在任何组中)。求对于1≤k≤m1\leq k\leq m的所有kk分别有多少种分组方法。 答案对998244353998244353取模。 n≤109,m219n\leq {10}^9,m题解 因为k>nk>n的项都是00,所以我们钦定m≤nm\leq原创 2018-01-16 10:58:47 · 1184 阅读 · 0 评论 -
【XSY2691】中关村 卢卡斯定理 数位DP
题目描述 在一个kk维空间中,每个整点被黑白染色。对于一个坐标为(x1,x2,…,xk)(x_1,x_2,\ldots,x_k)的点,他的颜色我们通过如下方式计算:如果存在一维坐标是00,则颜色是黑色。如果这个点是(1,1,…,1)(1,1,\ldots,1)(每一维都是11),这个点的颜色是白色如果这个点的kk个前驱(任取一维坐标减11)中的白点有奇数个,那么这个点的颜色就是白色原创 2018-01-07 10:16:22 · 394 阅读 · 0 评论 -
【XSY2693】景中人 区间DP
题目描述 平面上有nn个点,你要用一些矩形覆盖这些点,要求:每个矩形的下边界为y=0y=0每个矩形的大小不大于ss 问你最少要用几个矩形。 n≤100,1≤y≤sn\leq 100,1\leq y\leq s题解 先把坐标离散化。 猜(zheng)一个结论:最优解中任意两个矩形的横坐标只可能是相离或包含,不可能是相交。证明略。 考虑区间DP。原创 2018-01-07 09:53:42 · 470 阅读 · 1 评论 -
【XSY2190】Alice and Bob VI 树形DP 树剖
题目描述 Alice和Bob正在一棵树上玩游戏。这棵树有nn个结点,编号由11到nn。他们一共玩qq盘游戏。 在第ii局游戏中,Alice从结点aia_i出发,Bob从结点bib_i出发。开始时,除了aia_i和bib_i这两个结点外,所有结点都没有染色。结点aia_i被Alice染色,结点bib_i被Bob染色。 接下来,两位玩家轮流移动,两位玩家移动步数之和为kik_i步。A原创 2018-01-23 17:08:47 · 430 阅读 · 0 评论 -
【XSY2733】Disembrangle DP
题目描述 有一个3×n3\times n的网格,一些格子里已经有棋子了,一些格子里还没有。 每次你可以选择往一个没有棋子的格子里放一个棋子,但要满足这个格子上下两个格子都有棋子或左右两个格子都有棋子。 你的任务是把这个网格填满。问你有几种填法。 n≤2000n\leq 2000题解 先判无解。 如果四个角没有棋子或在第1/31/3行有两个相邻的空格就无解原创 2018-01-23 16:53:45 · 384 阅读 · 0 评论 -
【XSY2612】Comb Avoiding Trees 生成函数 多项式求逆 矩阵快速幂
题目大意 本题的满二叉树定义为:不存在只有一个儿子的节点的二叉树。 定义一棵满二叉树AA包含满二叉树BB当且经当AA可以通过下列三种操作变成BB:把一个节点的两个儿子同时删掉把一棵子树替换成根的的左子树或右子树。 定义kk连树为一棵只有恰好kk个叶子的满二叉树,如果某个节点有一个右孩子,那么这个右孩子一定是一个叶子。 对于给定的kk和nn,对于所有在11到nn之间的ii,你需要求出所有叶原创 2017-11-02 21:23:39 · 694 阅读 · 0 评论 -
【BZOJ1999】【NOIP2007】树网的核 单调队列优化DP
题目描述 题目很长,大家自己去看吧。 bzoj vijos 原题n≤300n\leq 300 加强版n≤500000n\leq 500000题解 这种东西当然要猜结论的啦,否则会比较麻烦。结论1:如果有很多条直径,那么不管核在哪条直径上,最小偏心距都相同。结论2 :任意一条路径的偏心距不会小于核的最小偏心距。 这两个结论的证明方法类似。都是考虑两条路径的公共部分和非公共部分。如果最远的原创 2017-11-10 16:41:15 · 391 阅读 · 0 评论 -
【BZOJ2431】【HAOI2009】逆序对数列 DP
题目大意 问你有多少个由nn个数组成的,逆序对个数为kk的排列。 n,k≤1000n,k\leq 1000题解 我们考虑从小到大插入这nn个数。 设当前插入了ii个数,插入下一个数可以形成0,1,…,i−10,1,\ldots,i-1个逆序对。 fi,j=∑k=j−i+1jfi−1,kf_{i,j}=\sum_{k=j-i+1}^jf_{i-1,k} 用前缀和优化即可。 时间复原创 2017-11-01 10:35:26 · 262 阅读 · 0 评论 -
【XSY1602】安全网络 树形DP 数学
题目大意 有一颗树,要为每个节点赋一个值li≤ai≤ril_i\leq a_i\leq r_i,使得任意相邻的节点互素。然后对每个节点统计aia_i在所有可能的情况中的和。 n≤50,1≤li≤ri≤m,m=50000n\leq 50,1\leq l_i\leq r_i\leq m,m=50000题解 设fi,jf_{i,j}为以ii为根的子树都赋了值后ai=ja_i=j的方案数。那么怎么处理原创 2017-09-17 13:46:09 · 218 阅读 · 0 评论 -
【XSY1596】旅行 期望DP
题目大意 有mm个游客, 他们都依次访问城市1,2,3,…,n1,2,3,\ldots,n, 第ii个游客到达任意一个城市后有pip_i的概率会停下, 不再继续前行 设cic_i个乘客经过了城市ii,则第ii个人经过第jj个城市时的快乐值是cj+1cj−1hi,j\frac{c_j+1}{c_{j-1}}h_{i,j} 求每个人的喜悦度之和的期望 m,n≤16m,n\leq16题解 枚举城原创 2017-09-16 19:45:35 · 231 阅读 · 0 评论 -
【XSY1599】dices 期望DP
题目大意 Yahtzee是一个非常有名的骰子游戏。有55个骰子,1414个盒子。游戏共有1414轮,每一轮玩家要投这55个骰子,并将这55个骰子放到一个没有被用过的盒子内计分。这五个骰子是一样的,每个面朝上的概率是不同的。问你在最优策略下,你能得到的期望得分。 计分方式如下: 题解 这题题意没有明显注明是先投完骰子再选盒子,导致一些人看错题了。 我们设fif_i为盒子的状态为ii时原创 2017-09-16 15:10:40 · 294 阅读 · 0 评论 -
【XSY1594】棋盘控制 概率DP
题目描述 给你一个n×mn\times m的棋盘,每次随机在棋盘上放一个国际象棋中的车,不能和以前放的重叠。每个车可以控制当前行和当前列。当所有行和所有列都被控制时结束游戏。问你结束时期望放了多少个车。 注意:结束的条件是所有行和所有列都被控制,而不是所有格子都被控制。 n,m≤50n,m\leq 50题解 简单DP fi,j,kf_{i,j,k}表示放了kk个车后控制了ii行jj列的概率原创 2017-09-14 20:26:29 · 262 阅读 · 0 评论 -
【XSY1544】fixed 数学 强连通图计数
题目描述题解 我们可以把方阵看成图GG。ai,ja_{i,j}表示第ii个点有多少条有向边连到第jj个点。api,ja^p_{i,j}表示有多少条从ii出发经过pp条边到达jj的路径。 考虑a0a^0,即单位矩阵。所以若不动点(i,j)(i,j)在主对角线上则ai,j=1a_{i,j}=1,否则ai,j=0a_{i,j}=0。 有一个结论:这个方阵有不动点当且仅当这个图不是强连通图。原创 2017-08-14 20:51:47 · 906 阅读 · 0 评论 -
【XSY1538】连在一起的幻想乡 数学 无向连通图计数
题目大意 给你n,pn,p,求nn个点组成的所有无向连通图图的边数的平方和 n≤2000,m≤109n\leq 2000,m\leq {10}^9题解 设m=n(n−1)2,h0n=nm=\frac{n(n-1)}{2},h0_n=n个点无向图的个数,h1n=nh1_n=n个点组成的所有无向图的边数之和,h2n=nh2_n=n个点组成的所有无向图的边数的平方和,f0n=nf0_n=n个点原创 2017-08-15 18:41:34 · 1182 阅读 · 1 评论 -
【XSY1591】卡片游戏 DP
题目描述 有标有数字为11~99的卡片各a1,a2⋯a9a_1,a_2\cdots a_9张,还有标有乘号的卡片mm张。从中取出nn张按任意顺序排列,取出两个乘号相邻和乘法在边界上的非法式子,剩下的都是合法式子。求所有合法式子的方案的值的和。两张数字向同的卡片是不同的,两张乘号也是不同的。答案模109+7{10}^9+7 n≤1000,ai≤108,m≤108n\leq 1000,a_i\leq原创 2017-09-12 22:07:04 · 310 阅读 · 0 评论 -
【XSY2534】【CF835D】Palindromic characteristics 回文自动机
题目大意 一个字符串ss是11−回文串当且仅当这个串是回文串。 一个串ss是kk−回文串(k>1)(k>1)当且仅当ss的前一半与后一半相同且ss的前一半是非空(k−1)(k−1)−回文串。 一个串ss的前一半是这个串的长度为⌊|s|2⌋\lfloor\frac{|s|}{2}\rfloor的前缀,一个串ss的后一半是这个串的长度为⌊|s|2⌋\lfloor\frac{|s|}{2}\r原创 2017-08-13 16:36:52 · 428 阅读 · 0 评论 -
【XSY1536】【BZOJ3522】【BZOJ4543】【POI2014】Hotel 树形DP 长链剖分 启发式合并
题目描述 给你一棵树,求有多少个组点满足x≠y,x≠z,y≠z,distx,y=distx,z=disty,zx\neq y,x\neq z,y\neq z,dist_{x,y}=dist_{x,z}=dist_{y,z}原创 2017-08-12 12:47:15 · 688 阅读 · 0 评论 -
【XSY1528】azelso 概率&期望DP
题目大意 有一条很长很长的路(出题人的套路),你在00位置,你要去hh位置。 路上有一些不同的位置上有敌人,你要和他战斗,你有pp的概率赢。若你赢,则你可以走过去,否则你会死。还有很多个重生点。你每经过一个重生点有pp的概率插旗。你死亡后你会在最后一个插旗的位置重生,然后该位置的旗子消失。如果没有旗子,则你在00位置重生。 求你走到目的地的期望路程。模109+7{10}^9+7 n≤1原创 2017-08-17 15:05:47 · 353 阅读 · 0 评论 -
【XSY2472】string KMP 期望DP
题目大意 给定一个由且仅由字符’H’,’T’构成的字符串SS。 给定一个最初为空的字符串TT ,每次随机地在TT的末尾添加’H’或者’T’。 问当SS为TT的后缀时,在末尾添加字符的期望次数。 对109+7{10}^9+7取模题解 设fif_i为从i−1i-1匹配到ii期望的匹配次数,gig_i表示匹配到ii后下一次失配能匹配到什么位置(用KMP求),si=∑ij=1fjs_i=\su原创 2017-09-10 15:32:39 · 487 阅读 · 0 评论 -
【BZOJ1426】收集邮票 期望DP
题目大意 有nn种不同的邮票,皮皮想收集所有种类的邮票。唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是nn种邮票中的哪一种是等概率的,概率均为1n\frac{1}{n}。但是由于凡凡也很喜欢邮票,所以皮皮购买第kk张邮票(注意是第kk张而不是第kk种)需要支付kk元钱。现在皮皮手中没有邮票,皮皮想知道自己得到所有种类的邮票需要花费的钱数目的期望。 n≤10000n\le原创 2017-09-10 16:21:36 · 379 阅读 · 0 评论 -
【BZOJ4033】【HAOI2015】树上染色 树形DP
题目描述 给你一棵nn个点的树,你要把其中kk个点染成黑色,剩下n−kn-k个点染成白色。要求黑点两两之间的距离加上白点两两之间距离的和最大。问你最大的和是多少。 n≤2000n\leq 2000题解 我们考虑树形DP。 设fi,jf_{i,j}为以ii为根的子树,染了jj个黑点的最大收益。 若一条边的一段有s1s_1个点,选了j1j_1个黑点,另一端有s2s_2个点,选了j2j_2个黑点原创 2017-11-08 21:30:37 · 468 阅读 · 0 评论 -
【ARC072E】Alice in linear land DP
题目大意 有一个人要去直线上lmlm远处的地方,他会依次给他的机器发出nn个指令。第ii个指令为did_i。他的机器收到一个指令xx后,如果向目的地方向前进xmxm后比当前离目的地更近,就会向前移动xmxm,否则什么都不会做。 现在,给你qq个询问,第ii个询问为aia_i,问你能不能改变daid_{a_i},使得这个人不能到达目的地。你可以决定把daid_{a_i}改成什么数。 n,q≤50原创 2017-10-21 16:26:10 · 441 阅读 · 0 评论