2025.4.29 NOI 模拟赛 题解
T1 NFLS #P13045. 智慧树 \(\quad\) gym 103447C. Colorful Tree
题意
给定一棵树,初始每个叶子都没有染色,每次操作可以选择一棵子树将其中的叶子都染成同一种颜色,求将每个叶子 \(i\) 染成给定的颜色 \(a_i\) 的最少操作次数,\(n\le2\times10^6,1\le a_i\le n\)
分析
令 \(f_{i,j}\) 表示子树 \(i\) 之上进行一次染为 \(j\) 的操作,要将子树 \(i\) 内所有叶子染为给定颜色的最少操作次数,令 \(g_i\) 表示子树 \(i\) 之上没有进行染色时的答案
则
暴力实现为 \(O(n^2)\) 的
令 \(mn_x=g_x-1\),则 \(f_{x,\ast}\in\{mn_x,mn_x+1\}\)
对于每个 \(x\) 将所有 \(f_{x,t}=mn_x\) 的 \(t\) 保存在集合 \(S_x\) 中
对于叶子结点,\(mn_x=0,S_x=\{a_x\}\)
令 \(u\) 为一个非叶子结点,令 \(S\) 为 \(u\) 所有儿子的 \(S_x\) 的可重并,令 \(mx\) 为 \(S\) 中出现次数最多的数的出现次数
则 \(mn_u=\sum_{v\in son(u)}(mn_v+1)-mx\),\(S_u\) 为 \(S\) 去重后的结果
使用 \(\text{DSU on tree}\) 和 unordered_map 可做到 \(O(n\log n)\)
T2 NFLS #P13044. 四元组
题意
一张 \(n\) 点完全图,其中 \(m\) 条边为红色,剩余为蓝色,求满足 \(a,b,c,d\) 两两之间连边为红色的无序四元组 \((a,b,c,d)\) 的数量减去全为蓝色的数量的绝对值,\(n\le10^5,m\le2\times10^5\)
分析
对于四元组 \((a,b,c,d)\),假定 \(a<b<c<d\)
令 \(E_1(a,b,c,d)=\text{is red}(a,b)\),\(E_{2\sim 6}\) 分别表示 \((a,c),(a,d),(b,c),(b,d),(c,d)\) 之间的情况
令 \(A_i=\{(a,b,c,d)\mid E_i(a,b,c,d)=1\}\),\(U=\{(a,b,c,d)\}\)
用 \(S[k]\) 表示取遍集合 \(S\) 所有大小为 \(k\) 的子集,则答案为以下式子的绝对值
原问题拆分为求出 \(\sum_{S\in \{1,2,3,4,5,6\}[i]}\left|\bigcap_{u\in S}A_u\right|\),其中 \(1\le i\le 5\)
令 \(d_i\) 表示 \(i\) 的度数,\(E\) 为红边集,\(E'=\{(u,v)\mid (u,v)\in E\lor (v,u)\in E,(d_u,u)>(d_v,v)\}\)
当 \(i=1\) 时,值为包含钦定一条边为红色的四元组数量,显然为 \(m\binom{n-2}{2}\),其中 \(m\) 为钦定的红色边的方案数,\(\binom{n-2}2\) 为剩余两点的方案数
当 \(i=2\) 时有两种情况,两条红边一端相交或无交:
- 对于相交的情况,枚举相交的点 \(u\),令 \(T=\sum_{i=1}^u \binom{d_u}2\) 表示不考虑第四个点的方案数,则贡献为 \(T\binom{n-3}1\)(注意 \(\binom x1=[x\ge 1]\ne x\))
- 对于无交的情况,方案数为所有选择两边的方案数减去选择的两边相交的方案数,为 \(\binom m2-T\)
当 \(i=3\) 时有三种情况,其中一个点与另外三个点都有红边相连,三个点形成红色三元环,形成长为 \(3\) 的红色链
- 对于第一种情况,枚举与另外三个点都相连的点 \(u\),贡献为 \(\sum_{i=1}^n \binom{d_i}3\)
- 对于第二种情况,容易 \(O(m\sqrt m)\) 求出 \(G=(V,E)\) 的所有三元环,令 \(c_3\) 为三元环数,则贡献为 \(c_3\binom{n-3}1\)
- 对于第三种情况,令 \(c_4=\sum_{(u,v)\in E'}\binom{d_u-1}1\binom{d_v-1}1\),则贡献为 \(c_4-3c_3\)
当 \(i=4\) 时有两种情况,三元环上挂一个点或形成四元环
- 对于第一种情况,令之前求出的三元环的集合为 \(C_3\),则贡献为 \(\sum_{(u,v,w)\in C_3}\binom{d_u-2}1\binom{d_v-2}1\binom{d_w-2}1\)
- 对于第二种情况,容易 \(O(m\sqrt m)\) 求出无向图的四元环数量
当 \(i=5\) 时,枚举三元环 \((u,v,w)\),令 \(ct_e\) 表示含有边 \(e=(u,v)\) 的三元环数量,则贡献为 \(\sum_E \binom{ct_e}2\)
总时间复杂度 \(O(m\sqrt m)\)
NFLS #P13047. 美元巨大二的二
题意
给定 \(a_{1\sim n}\),\(q\) 次操作,每次给定 \(l,r,k\),对于每个 \(l\le i\le r\) 令 \(a_i\gets k^{a_i}\),或查询 \(a\) 的区间和对 \(p\) 取模,\(n,q,P\le5\times10^4\)
分析
令 \(md_k=\varphi^k(P)\),其中 \(\varphi^k\) 表示嵌套 \(k\) 层,设 \(c\) 为满足 \(md_c=1\) 的最小值,则可以忽略指数塔 \(c\) 层以上的部分
\(1\sim n\) 每个位置保存列表 \(v_{0\sim c}\),其中 \(i\) 位置的 \(v_x\) 保存 \(a_i\bmod md_x\)
区间和即为 \(v_0\) 之和
对于区间令 \(a_i\gets k^{a_i}\) 的操作,若 \(i\) 在区间中,则令 \(v_x\gets k^{v_{x+1}}\bmod md_{x+1}\)(假定 \(v_{c+1}=0\)),此处假定 \(a\bmod b=\begin{cases}a&a<b\\a\bmod b+b&a\ge b\end{cases}\)(区间和的取模正常)
线段树维护 \(v\),若区间中的 \(v\) 相同则对其变换视为区间覆盖
令 \(n-1\) 个间隔的势能为令间隔两侧数字相等所需要的操作次数,则初始每个间隔势能为 \(\log P\),每次修改区间两个端点势能增加 \(\log P\),区间中间每个间隔势能减少 \(1\),势能每减少 \(1\) 需要 \(O(\log P)\) 的时间复杂度(对于每个 \(md_i\) 进行 \(O(md_i\sqrt {md_i})\) 的光速幂预处理),时间复杂度为 \(O(n\log^2 P)\)(假定 \(n,q\) 同阶)
总时间复杂度 \(O(n\log^2 P+P\sqrt P)\),使用快速幂则时间复杂度为 \(O(n\log^2 P)\) 可过
比赛结果
\(80+25+0\),\(\text{rk}30\)

浙公网安备 33010602011771号