2025.12.13 NOI 模拟赛 题解
T1 P130187 [省选二十连测第四套 ] --T1--彩翼 (wings)
题意
对于 \(a_{1\sim n}\in \{0,1\}\),对于 \(1\le i\le n\) 若 \(a_i=0\) 则 \(b_i=0\),否则 \(b_i=i-\max_{j<i,a_j=1}j\),给定 \(n\) 和 \(m\) 组要求 \((l,r,s)\) 表示需要满足 \(\sum_{i=l}^r b_i\ge s\),判断是否存在合法的 \(a\),\(n\le10^9,k\le2\times10^5\),多测 \(T\le10,\sum m\le10^6\)
分析
将 \((l,r,s)\) 以 \(r\) 降序为第一关键字,\(l\) 降序为第二关键字排序,依次考虑
初始 \(b_i\gets 1\),对应 \(a_i=1\)
若此时 \(\sum b_{l\sim r}\ge s\) 则跳过
若此时 \(\sum b_{l\sim r}=0\) 则无解
否者找到 \(p=\max\{u<l\mid \sum b_{u\sim r}\ge s\}\),若不存在这样的 \(p\) 则无解
清空 \(b_{p\sim l-1}\),并将它们的值加到 \([l,r]\) 内第一个非 \(0\) 位置上
正确性显然,容易使用动态开点线段树实现
时间复杂度 \(O(\sum m(\log m+\log n)\)
T2 P130188 [省选二十连测第四套 ] --T2--一半一半 (half)
题意
给定 \(n,m\),初始 \((a,b)=(0,0)\),\((x,y)=(0,0)\),进行 \(n+m\) 轮操作,每轮以 \(\frac 12\) 的概率选择 \(a,b\) 之一加一,若 \(a>b\) 则 \(x\) 加一,若 \(a<b\) 则 \(y\) 加一,若相等则比较上一轮的结果,求最终 \((a,b)=(n,m)\) 时 \(x\times y\) 的期望,\(n,m\le10^7\),多测 \(T\le 5\)
分析
转化为一条 \((0,0)\) 到 \((n,m)\) 的折线,\(x,y\) 分别为 \(x=y\) 上方下方长度为 \(1\) 的线段数量
显然一共有 \(\binom{n+m}n\) 种可能的方案,每种概率相同,因此考虑求出 \(x\times y\) 的总和,最终除以 \(\binom{n+m}n\) 即可
先考虑 \(n=m\) 的情况,此时路径若干次碰到直线 \(x=y\) 可以分为若干段,每段完全在 \(x=y\) 上方或下方
将 \(x\times y\) 转化为选择一条在 \(x=y\) 上方长度为 \(1\) 的线段和一条在 \(x=y\) 下方长度为 \(1\) 的线段
令 \(f_i\) 表示选择的两条线段中,靠后的一条在以 \(i\) 结尾的段中的方案数,枚举最后一段为 \(j\sim i\),这一段中间不能碰到 \(x=y\) 贡献为 \(2H_{i-j-1}\)(其中 \(2\) 表示可以在上方和下方,\(H\) 为卡特兰数),选择一条线段方案数为 \(2(i-j)\),前面部分任意填方案数为 \(\binom{2j}j\),平均有一半的线段可以选,方案数为 \(\frac {2j}2\),因此
令 \(G(x)=\sum_{i\ge 0} \binom{2i}i x^i\),则 \(f_i=2(i-1)\times [x^{i-1}]G^2(x)\)
令 \(H(x)=\sum_{i\ge 0} H_i x^i\),则
从而 \(H(x)=\frac{1\pm\sqrt{1-4x}}{2x}\),由于 \([x^0]H(x)=1\),因此 \(H(x)=\frac{1-\sqrt{1-4x}}{2x}\)
从而
从而
考虑如何统计答案
显然 \(n=m\) 时答案为 \(\sum_{i=1}^n f_i \binom{2n-2i}{n-i}\)
当 \(n\ne m\) 时,在 前一式子的基础上 还要考虑最后一个不完整段的贡献,枚举其起点为 \((i,i)\),走到 \((n,m)\),中间不能碰到 \(x=y\),不妨设 \(n<m\) 则反射容斥可得方案数为 \(\binom{n-i+m-i-1}{m-i-1}-\binom{n-i+m-i-1}{m-i}\),选择的方案数为 \(n-i+m-i\),前面部分和 \(j\) 一样贡献为 \(\binom{2i}i\cdot \frac{2i}2\),即这部分贡献为
容易做到 \(O(\sum (n+m))\)
T3 P130189 [省选二十连测第四套 ] --T3--金色炸弹猪 (aria)
题意
给定 \(n\) 求 \(\sum_{i=1}^n \sum_{j=1}^i \sum_{k=1}^n [\gcd(j,k)\mid i]ijk\),\(n\le10^7\),多测 \(T\le 30,n\le 3\times10^7\) 或 \(T\le3,n\le10^9\)
分析
用 \(n_d\) 表示 \(\left\lfloor\frac nd\right\rfloor\),令 \(C_k(n)=\sum_{i=1}^n i^k\),则答案为
令 \(M_k(n)=\sum_{l=1}^n \mu(l)l^k\),令 \(G(n)=\sum_{l=1}^n(\mu(l)l^2C_1(n_l)(n+1)nC_1(n_l)+\mu(l)l^3C_1(n_l)C_2(n_l)-\mu(l)l^4C_1(n_l)C_3(n_l))\),则 \(F(n)=\sum_{d=1}^n G(n_d)\),对 \(d\) 数论分块,对 \(G\) 数论分块可以转化为求 \(M\),\(M\) 使用杜教筛加速
可证时间复杂度为 \(O(\sum n^{\frac23})\)
比赛结果
\(10+30+40\),\(\text{rk}9\)

浙公网安备 33010602011771号