随笔分类 -  数论——容斥与排列组合计数

摘要:XI.CF438E The Child and Binary Tree 经 典 老 题 我们可以设一个G,其中Gx=[ i ci=x],即是否存在x这个值。 我们再设Fx表示权值为x的二叉树的方案数。很明显有F0=1。 则我们枚举树根的 阅读全文
posted @ 2021-04-01 20:14 Troverld 阅读(48) 评论(0) 推荐(0) 编辑
摘要:XI.[集训队作业2013]城市规划 各类计数问题是多项式最常见的场景。 这里有一个套路,就是设f(x)为合法个数,g(x)为全部个数,然后往往g可以被fg表示出来,且g本身有通项公式,然后就可以简单求解了。 例如这题。我们设f(x)为联通图个数,g(x)为全部无向 阅读全文
posted @ 2021-04-01 20:13 Troverld 阅读(38) 评论(0) 推荐(0) 编辑
摘要:XVII.CF434E Furukawa Nagisa's Tree 我们观察所有合法对,发现其在枚举一个点、找到关于该点符合条件的另两点时,并不能唯一判定该三元环一定合法,因为另两点间的边不一定符合条件。但是,观察不合法的对,就会发现其中有且仅有两个点,其连接了一条好路径与一条坏路径(好路径即满足 阅读全文
posted @ 2021-04-01 13:15 Troverld 阅读(57) 评论(0) 推荐(0) 编辑
摘要:IV.树上游戏 考虑淀粉质。 对于一棵分治树,我们考虑对树中所有LCA为根节点的路径计算贡献。 我们对于根节点一棵子树一棵子树地处理。设cnti表示子树外有多少条以根节点为一个端点的路径上有颜色i。则我们当前子树中的一个点的贡献可以分作两部分:子树外的部分(即cnti阅读全文
posted @ 2021-04-01 12:34 Troverld 阅读(57) 评论(0) 推荐(0) 编辑
摘要:XVIII.[八省联考2018]制胡窜 首先,本题parent tree上树上倍增+线段树合并找出每个点的 endpos 集合应该是没得说的。 于是我们现在考虑知道了 enspos 集合以及询问串长度 len 怎么求出答案。 首先,一个正常人稍微想 阅读全文
posted @ 2021-04-01 12:21 Troverld 阅读(60) 评论(0) 推荐(0) 编辑
摘要:Prufer序列是一种神奇的东西,其可以实现无根树与序列间的双射,并且在计数题、DP题、找规律题等等问题中有着不俗的表现。 (另,大部分时候,Prufer及其误拼Purfer、Purfur、Prefer等奇奇怪怪的变体是被混用了的) 首先,一棵 n 个节点的树的Prufer序列,是一长度为 阅读全文
posted @ 2021-03-31 16:46 Troverld 阅读(196) 评论(0) 推荐(0) 编辑
摘要:CLV.[AGC046D]Secret Passage 稍微观察一下就能发现,任一时刻,我们剩下的东西必然是一段定死了的后缀,加上一些可以任意塞位置的 01。考虑任意一个由上述时刻生成的串,就会发现它与该后缀的最长公共子序列长度即为后缀长度,且还剩余一些 0 与 \(1 阅读全文
posted @ 2021-03-31 15:40 Troverld 阅读(129) 评论(0) 推荐(1) 编辑
摘要:CLIV.[CODE FESTIVAL 2017 qual C]Three Gluttons 题解 阅读全文
posted @ 2021-03-31 15:39 Troverld 阅读(41) 评论(0) 推荐(0) 编辑
摘要:CLI.[ARC115E]LEQ and NEQ 设 fi,j 表示位置 ij 的方案数。则 fi,j=(kfi1,k)fi1,k。于是我们便考虑线段树优化,只需要实现四种操作:整体求和, 阅读全文
posted @ 2021-03-31 15:36 Troverld 阅读(146) 评论(0) 推荐(0) 编辑
摘要:CL.[NOI2018] 冒泡排序 结论1.交换次数压到下界,当且仅当不存在长度大于 2 的下降子序列。 证明很简单。众所周知的是,冒泡排序的交换次数等于序列逆序对数。要压到下界,与每个点有关的逆序对数都只能为 |ipi|,因为从 ipi 的过程中本身就要 阅读全文
posted @ 2021-03-31 15:34 Troverld 阅读(130) 评论(0) 推荐(0) 编辑
摘要:CXLIII.[AGC013E] Placing Squares 关键是将问题从抽象的“正方形面积”转为具象的形式:一段长度为 d 的区间,有两个不同的小球要放进去,则总放置方案就是 d2,且不同的区间间方案是通过乘法原理结合的,刚好是题目中 d2 的形式。 阅读全文
posted @ 2021-03-31 15:23 Troverld 阅读(53) 评论(0) 推荐(0) 编辑
摘要:CXXXIX.[AGC030F] Permutation and Minimum 看到 300 的数据范围,再加上计数题,很容易就往计数DP方向去想。 为方便,我们将 n 乘二。 因为是两个位置取 min,于是我们便想到从小往大把每个数填入序列。于是DP数组第一维的意义便出 阅读全文
posted @ 2021-03-31 15:16 Troverld 阅读(54) 评论(0) 推荐(0) 编辑
摘要:CXXV.[Topcoder16346]TwoPerLine 跟一年半以前就刷过的经典老题[AHOI2009]中国象棋完全一致,道理非常simple,设 fi,j,k 表示DP到第 i 列,其中有 j 行内恰有 2 枚棋,k 行里恰有 1 枚棋, 阅读全文
posted @ 2021-03-31 14:51 Troverld 阅读(41) 评论(0) 推荐(0) 编辑
摘要:CXIX.[SHOI2009]舞会 之前一直在往二项式反演去想,没想到最后居然成了…… 我们考虑将男生和女生全部按照高度递减排序,则对于第i个男生,能与他构成特殊对的女生必定是一个前缀,设前缀长度为numi。显然,numi是单调不降的。 然后,我们考虑设fi表示钦定i对匹配 阅读全文
posted @ 2021-03-31 14:38 Troverld 阅读(41) 评论(0) 推荐(0) 编辑
摘要:CXVIII.[BJOI2017]机动训练 这题的瓶颈,在于把 ai2 看作 i=1aij=1ai1,然后我们就可以看成“两两相同的机动路径都能贡献1”。于是我们设$f_{x1,y1,x2,y2}\(表示 阅读全文
posted @ 2021-03-31 14:36 Troverld 阅读(90) 评论(0) 推荐(0) 编辑
摘要:CXVII.[清华集训2012]串珠子 如果直接暴力上状压进行计数是会重复计算的;那么怎样不重不漏地计数呢? 我们发现,要求出连通图的数量是比较难的;但是要求出非联通图的数量是比较简单的,因为我们可以祭出套路。 我们设 fi 表示 i 集合中所有图的数量(不管联通与否)。再设 \( 阅读全文
posted @ 2021-03-31 14:35 Troverld 阅读(43) 评论(0) 推荐(0) 编辑
摘要:LCI.CF979E Kuro and Topological Parity 我们考虑在一张染色完成的图里,我们连上了一条边,会有何影响? 在同色节点间连边——明显不会有任何影响 在异色节点间连边,但是出发点是个偶点(即有偶数条路径以其为终点的节点)——终点的路径数增加了,但增加的是偶数,故也无影响 阅读全文
posted @ 2021-03-30 20:03 Troverld 阅读(53) 评论(0) 推荐(0) 编辑
摘要:LXXX.[AGC024E] Sequence Growing Hard 首先,我们肯定能想到从第一个序列开始,依次加入一个新数得到下一个序列,同时还要保证字典序递增。我们如果让新数递增的话,就可以DP了。 我们首先观察往一个序列中加入一个不大于最大值的数会有多少种可能: 我们在1323中加入一 阅读全文
posted @ 2021-03-30 19:42 Troverld 阅读(74) 评论(0) 推荐(0) 编辑
摘要:LXXIX.[AGC013D] Piling Up 一个很naive的思路就是设f[i][j]表示当前进行了i步,并且盒子中剩下了j个白球的方案数,然后直接DP即可。 但是这样是有问题的——它没有考虑到重复计算的问题。 我们不妨令+\(\)符号表示取出白球。 则一 阅读全文
posted @ 2021-03-30 19:39 Troverld 阅读(149) 评论(0) 推荐(0) 编辑
摘要:LIV.CF559C Gerald and Giant Chess DP只要一与排列组合或是容斥等等东西结合在一起就会变得极其毒瘤…… 我们设fi表示:走到第i个黑格子上,且之前没有走到任何一个黑格子时的方案数。 则我们如果将棋盘的右下角看作是第n+1个黑格子,fn+1就是答 阅读全文
posted @ 2021-03-30 16:24 Troverld 阅读(44) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示