模拟赛11.10 解题报告
T1 进步科学
题意:一棵树,一开始所有点都是白的。每一时刻你可以选择一个点,将他颜色取反(黑白变化),然后下一时刻其父亲颜色取反,下下一时刻其父亲的父亲颜色取反……给出最后的局面,求至少需要多少时刻达成,注意最后的局面不一定是稳定的,即下一时刻可能有点颜色改变。
\(1\le n\le 16\)
艹,空间开小爆瓜 50pts。
枚举倒数第几时刻,操作的是哪个点。
设 \(f[i,j]=0/1\) 为考虑了倒数第 \(i\) 时刻,当前点的黑白状态为 \(j\),是否能到达这样的局面。
每次枚举操作的点 \(u\),设 \(msk[u,i]\) 表示倒数第 \(i\) 时刻操作点 \(u\) 时颜色发生改变的点集。
直接搞即可,时间复杂度 \(O(2^nn^2)\)。
T2 吉吉没急
题意:\(n\) 个点,初始时 \(1\) 号点是黑的,其他是白的。有 \(m\) 次操作,第 \(i\) 次发生在 \([L_i,R_i]\) 的某一天,当天若 \(u_i,v_i\) 中有一个是黑的,或者有一个恰好在当天变黑,那么另一个也会变黑。给出 \(n\) 个点最终的状态:黑、白、不确定,判断是否存在这样的结果。
\(1\le n\le 200000,\space 1\le L_i\le R_i\le 10^9\)
直接求一个点的最早变黑时间是不行的,因为这样可能导致一些最终状态为白的点变黑。
因此每个点变黑的时间应该有个限制,设点 \(i\) 应在 \([d_i,+\infty]\) 时间段变黑。对于最终状态为白的点 \(i\),有 \(d_i=+\infty\)。
考虑最短路更新这个过程。当前取出 \(u\),对于每条边 \((u,v,L,R)\),若 \(d_u>R\),说明点 \(v\) 于 \([L,R]\) 中至少存在一天为白色,贪心选择第 \(L\) 天,则 \(d_v\leftarrow \max(d_v,L+1)\)。可以迪杰斯特拉。
处理出限制后,再求出 \(f_u\) 表示一个点最早可能的变黑时间,且满足 \(f_u\ge d_u\),同样可以直接最短路。
时间复杂度 \(O(m\log m)\)。
T3 老杰克哒
题意:一个 \(01\) 串,每次修改一个位置上的值,或者查询 \([l,r]\):把第 \(l\) 至 \(r\) 位上的数连起来组成一个二进制数,每次选择一个 \(k\),将这个数 \(+2^k\) 或 \(-2^k\),任意时刻非负,求最小操作次数。
一眼动态 dp 板子。
考虑一个序列的做法,设 \(f[i,0/1]\) 表示把 \(1...i\) 位全部变成 \(0\),并且是/否往高位进 \(1\) 的最小操作数。
写成矩阵乘法的形式
- 若 \(s_{i+1}=0\)
- 若 \(s_{i+1}=1\)
随便拿个线段树维护一下即可,时间复杂度 \(O((n+q)\log n)\),有个 \(8\) 倍的常数。
T4 季积晓淆
题意:树上随机游走。一棵树,初始时你在其中一个点上。若当前在点 \(u\) 上,则你有 \(p_u\) 的概率停留,有 \(1-p_u\) 的概率等概率走向一个连边的点,走到点 \(1\) 后停止。求时间的 \(k\) 次方的期望值,模 \(998244353\)。
\(1\le n,k\le 10^5,\space 1\le nk\le 10^6\)
考虑 \(k=1\) 怎么做,设 \(f[u]\) 表示从 \(u\) 成功走到 \(fa_u\) 的期望步数。
那么
随便推推即可。
考虑 \(k>1\)。
根据二项式定理,设 \(w\) 为过一单位时间之后花费的时间,与当前花费的一单位时间合并
这是两个 EGF 乘积的形式,\(e^{(w+1)x}=e^{wx}\cdot e^x\)。
给每个时间单位赋权值 \(e^x\),我们相当于求所有时间单位权值乘积的期望值。
构造指数生成函数 \(F_u(x)=f[u,0]+f[u,1]\frac{x}{1!}+f[u,2]\frac{x^2}{2!}+f[u,3]\frac{x^3}{3!}+...+f[u,k]\frac{x^k}{k!}\)。
即从 \(u\) 走到 \(fa_u\) 这段时间的 \(e^x\) 乘积的期望值。
令 \(G(x)=\sum_{i=0}^k \frac{x^i}{i!}\equiv e^x\pmod {x^{k+1}}\)
有
后面有个 \(+1\) 是因为从 \(u\) 直接走到 \(fa_u\) 也有贡献,为 \(\frac{1-p_u}{deg(u)}G(x)\)。
推一推式子
剩下的就是多项式卷积、求逆的事了。时间复杂度 \(O(nk\log^2 k)\),卡常可过。
我也没想到常数不大