做题记录 26.3.14
\(\textcolor{purple}\odot\) CF2172N New Kingdom
分类讨论
当 \(k\) 为奇数时显然无解
讨论 \(b+1\) 和 \(k\) 的大小关系
-
\(b+1>k\) 时
考虑以下结构:\(1\sim r\) 构成环,\(r+1\sim r+s\) 直接连到 \(1\) 上,\(r+s+1\sim n\) 连成一条链然后连到 \(1\) 上
显然需要满足 \(r\ge 3,s\ge 0,r+s<n\)
此时割边 \(b=n-r\),不妨设 \(s\) 为奇数则奇度点数 \(k=s+1\)
从而 \(r=n-b,s=k-1\),显然满足 \(r+s=n-b+k-1<n\)
\(k=0\),\(b=n-1\),\(b=n-2\) 三种情况无法构造
-
\(b+1=k\) 时
考虑以下结构:\(1\sim r\) 构成环,\(r+1\sim n\) 直接连到 \(n\)
显然需要满足 \(r\ge 3,r\le n\)
此时割边 \(b=n-r\),从而 \(r=n-b\)
显然满足 \(r=n-b\le n\)
\(b=n-1\),\(b=n-2\) 两种情况无法构造
-
\(b+1<k\) 时,考虑以下结构:\(1\sim r\) 构成环,\(r+1\sim n\) 直接连到 \(1\),环内有若干弦使得奇度点数满足要求
显然需要满足 \(r\ge 3,r\le n\)
显然 \(r=n-b\),\(b=n-1\) 或 \(b=n-2\) 的情况无法构造
当 \(b=n-r\) 为奇数时,\(r+1\sim n\) 和 \(1\) 都是奇度点,还需要额外 \(k-b-1\) 个奇度点,考虑将 \(2\sim r\) 两两配对(要求每组点不相邻),选出 \(\frac{k-b-1}2\) 组连上弦,显然 \(k-b-1<r\) 因此可以选出,当 \(r>3\) 时必然可以使得每组都不相邻,\(r=3\) 即 \(b=n-3\) 的情况无法构造
当 \(b=n-r\) 为偶数时,\(r+1\sim n\) 为奇度点,需要额外 \(k-b\) 个奇度点,在 \(1\sim r\) 中匹配即可,当 \(r=3\) 即 \(b=n-3\) 时可能无法构造,其它情况一定可行
还需要考虑 \(k=0\),\(b=n-1\),\(b=n-2\),\(b=n-3,b+1<k\) 的情况
\(k=0\) 时,所有点都是偶度点,由于图连通,必然只有一个边双,否则边双树每个叶子中至少有一个奇度点,因此 \(b>0\) 时无解,若 \(n\ge 3\) 则构造环,若 \(n=1\) 则孤点合法,若 \(n=2\) 则只有一种可能的图,显然不满足要求
\(b=n-2\) 时,显然需要有 \(n-1\) 个边双且其中一个为两点的,显然简单图中不存在两个点的边双,因此必然无解
\(b=n-1\) 时,原图为树,需要有 \(k\) 个奇度点,特判 \(n=1\) 的情况(容易处理),则 \(k=0\) 时显然无解,\(k>0\) 时令 \(2\sim k\) 连向 \(1\),\(k+1\sim n\) 连为一条链后连到 \(1\) 即可
\(b=n-3,b+1<k\) 时,若 \(n=3\) 则 \(b=0,k=2\) 显然无解,若 \(n=4\) 则 \(b=1,k=4\) 可证同样无解,当 \(n\ge 5\) 时,令 \(1\sim 3\) 连为环,\(4\) 连到 \(2\),\(5\) 连到 \(3\),\(6\sim n\) 连到 \(1\) 即可
容易做到 \(O(\sum n)\)
\(\textcolor{purple}\odot\) CF2178G deCH OR Dations
为每条弦赋随机权值,定义一条链的权值为所有弦的权值的异或和,则 \(i\) 合法当且仅当 \([1,i]\) 内所有弦的异或和 \(=0\)
令 \(f_i\) 表示以 \(i\) 结尾的弦的权值的异或和,令 \(g_i\) 表示以 \(i\) 结尾的弦的数量的奇偶性,令 \(i\) 表示第 \(i\) 条弦的权值,则
将环展开,则转化为加入一个带权区间,查询与给定区间有交的所有区间的权值异或和
显然两个端点分别查询有交的权值异或和即可,多余部分会抵消
容易做到 \(O(\sum n\log n)\)
\(\textcolor{blue}\odot\) CF2170F Build XOR on a Segment
显然答案不超过 \(O(\log V)\)
离线,对右端点扫描线,同时维护 \(mx_{i,x}\) 表示最大的左端点使得区间内可以选出 \(i\) 个数异或和为 \(x\)
时间复杂度 \(O((nV+q)\log V)\)
\(\textcolor{purple}\odot\) CF2165D Path Split
显然是 \(\text{DAG}\) 最小链划分,可以转化为二分图匹配
左侧各有 \(2n\) 级,每级有若干点,左侧第 \(i\) 级只会和右侧 \(i\pm 1\) 有连边,从而黑白染色后可以分为独立的两部分,分别考虑
对于其中每一部分,从上往下依次贪心匹配一定不劣
时间复杂度 \(O(\sum n\log n)\)
\(\textcolor{purple}\odot\) CF2169F Subsequence Problem
显然一个序列合法当且仅当存在一种对于所有 \(1\le i\le k\) 重排列 \(a_{i,1\sim l_i}\) 的方案,使得将它们拼接后为当前序列的子序列
考虑固定每个 \(a_{i,1\sim l_i}\) 的重排列方案后,计算对应的序列数量
为了不重复,假定每个合法序列在其子序列的位置字典序最小处统计
对于最终序列中每个 \(a_{i,l_i}\),将它的前缀断开,则得到 \(k+1\) 段,其中最后一段可空
第 \(i\) 段由 \(a_{i,1\sim l_i}\) 可分为 \(l_i\) 小段,第 \(j\) 小段最后一个位置为 \(a_{i,j}\),除了最后一个位置外每个位置不能填 \(a_{i,j\sim l_i}\)
即设第 \(i\) 段的第 \(j\) 小段长度为 \(L_{i,j}\),则其填色方案数为 \((m-(l_i-j+1))^{L_{i,j}-1}\)
从而答案为
注意到 \(l_i-j+1\) 只有 \(O(l)\) 种取值,令 \(c_x\) 表示 \(l_i-j+1=x\) 的 \((i,j)\) 数量(特别地 \(c_0=1\),因为计入最后一个 \(m^{\ast}\))
则后面部分等价于将长度为 \(n+1\) 的序列划分为 \(\sum c_i\) 段,每一段有参数 \(x\)(确定划分方式后每一段的参数确定),参数为 \(x\) 长度为 \(L\) 的段的贡献系数为 \((m-x)^{L_1}\)
考虑每个 \(c_i\) 分别计算贡献,令 \([x^C] F_e\) 表示 \(c_e\) 组成的段总长度(不含每一段最后一个位置)为 \(C\) 的方案数,显然 \([x^C]F_e=(m-e)^C \binom{c_e+C-1}{C}\)
答案为 \(\prod_{i=1}^k l_i!\times [x^{n-\sum_i l_i}]\prod_e F_e\)
容易做到 \(O(nl\log n)\)

浙公网安备 33010602011771号