[ARC101C] Ribbons on Tree】的更多相关文章

神仙的容斥题与神仙的树形DP题. 首先搞一个指数级的做法:求总的.能够覆盖每一条边的方案数,通过容斥可以得到\(\text{ans}=\sum\limits_E{(-1)^{|E|}F(E)}\).其中,\(F(E)\)表示钦定删除边集\(E\)后,其他的连边方案数.显然经过删边操作,这张图被划分成了很多联通块,联通块之间没有连边,方案数就是每个联通快的方案数的成绩.特别地,当\(|E|=0\)时,这个是总情况数. 如何求解一个联通块内的连边方案数呢?先上式子:\(\text{ret}=1 \t…
题目链接 ARC101E - Ribbons on Tree 题解 令边集\(S \subseteq E\) 设\(f(S)\)为边集S中没有边被染色的方案数 容斥一下,那么\(ans = \sum_{S \subseteq E} (-1)^{ \| S\| f(S) }\) 那么如何求对于原边集的\(f(S)\),也就是把\(S\)集合中的边全部删掉之后的各联通块内匹配的乘积 设\(g(x)\)为大小为x的联通块内点两两匹配的方案 那么\(f(S)=\prod_{i=1}^{|S|+1}g(a…
题解: 前面牛客网的那个比赛也有一道容斥+dp 两道感觉都挺不错的 比较容易想到的是 f[i][j]表示枚举到了i点,子树中有j个未匹配 这样的话我们需要枚举儿子中匹配状态 这样是n^2的(这是个经典的看似n^3实际n^2) 然后再枚举里面匹配了多少 再*n 所以总复杂度n^3的 计数问题考虑容斥 也就是说 答案=至少有j条不符合的*(-1)^j 这样我们依旧定义f[i][j]如上 但是转移的时候 我们对于这条边选和不选都可以的时候 就不用管具体的匹配状态了 所以不管的时候直接枚举子树转移 另外…
题目链接 \(Description\) 给定一棵\(n\)个点的树.将这\(n\)个点两两配对,并对每一对点的最短路径染色.求有多少种配对方案使得所有边都至少被染色一次. \(n\leq5000\). \(Solution\) 考虑容斥.令边集\(E\)的子集\(S\in E\),\(f(S)\)表示使得\(S\)中所有边都不被染色的配对方案数(其余边任意),则\(Ans=\sum_{S\in E}(-1)^{|S|}f(S)\). 如果确定边集\(S\),我们可以求\(f(S)\).设\(S…
Description 给定一棵有 \(n\) 个节点的树,满足 \(n\) 为偶数.初始时,每条边都为白色. 现在请你将这些点两两配对成 \(\frac{n}{2}\) 个无序点对.每个点对之间的的路径都会被染成黑色 求有多少种配对方案,使得树上没有白边? \(n\le 5000\) Solution 法一: 树上的路径很难直接考虑. 有一种容斥的做法:记边集为 E ,枚举 T 子集中的边强制为白边,其余的不作限制, 那么: \[ Ans = \sum_{T\subseteq E} (-1)…
题目链接 https://atcoder.jp/contests/arc101/tasks/arc101_c 题解 直接容斥.题目要求每一条边都被覆盖,那么我们就容斥至少有几条边没有被覆盖. 那么没有被覆盖的几条边一个可以把整棵树划分成很多连通块,每一块的贡献就是 \((siz-1)!!\).(\(x!!=x(x-2)(x-4)\cdots\)) 然后就可以 dp 了. 令 \(dp[x][i][j]\) 表示以 \(x\) 为根的子树内,\(x\) 位于一个大小为 \(i\) 的联通块,子树内…
令$f(E')$表示强制$E'$中的边不被覆盖的方案数,根据容斥,$ans=\sum_{E'\subseteq E}(-1)^{|E'|}f(E')$ 对于给定的$E'$,$f(E')$即将$E'$中所有边删除,连通块内部的匹配方案数乘积:若连通块大小为奇数,则必然为0:若连通块大小为偶数,设为$2n$,则方案数为$\frac{(2n)!}{n!2^{n}}$(以下记为$g(2n)$) 考虑dp来计算,令$f[i][j]$表示以$i$为根的子树中,与$i$相连的连通块大小为$j$的方案数(方案数…
\(\mathcal{Description}\)   Link.   给定一棵 \(n\) 个点的树,其中 \(2|n\),你需要把这些点两两配对,并把每对点间的路径染色.求使得所有边被染色的方案数,对 \(10^9+7\) 取模.   \(n\le5000\). \(\mathcal{Solution}\)   容斥,令 \(f(S)\) 表示钦定边集 \(S\) 全部为被覆盖的方案数.显然答案为: \[\sum_{S\subseteq E}(-1)^{|S|}f(S) \]   \(S\)…
这场还好切出了D,rt应该能涨,然而这场的题有点毒瘤,700分的D没多少人切,更别说EF了.(暴打出题人)既然这样,干脆就水一篇博客,做个简单的比赛记录. C - Candles 这题是一道一眼题,花了大约30s看懂题意,然后就想到做法开始敲. 首先先把蜡烛的坐标从小到大排序,我们要点亮的蜡烛一定在一个区间里,因此若我们要点亮区间$ [i,i+k) $的蜡烛我们可以这么走:先走到蜡烛$ i $和$ i-k+1 $中较近的一根,然后再走向另一根,并把途径的蜡烛全部点亮.这样的花费是$ \min(|…
最近感觉自己思维僵化,啥都不会做了-- ARC103 F Distance Sums 题意 给定第 \(i\) 个点到所有点的距离和 \(D_i\) ,要求构造一棵合法的树.满足第 \(i\) 个点到其他所有点的距离和为 \(D_i\) . \(n \le 10^5\) . 技巧 寻找特殊的量,推出整个树的形态 题解 题解 整棵树里头,最为特殊的点有两类.一个是重心,这是距离和最小的点,另一个是叶子节点,这是距离和最大的节点.考虑如果我们先确定重心,那么接着就不大好往下推了,因为我们并不知道子树…