做题记录 25.6.18
\(\textcolor{purple}\odot\) CF1734F Zeros and Ones
相当于求 \(\sum_{i=0}^{m-1}\text{parity}(i\oplus (i+n))\),其中 \(\text{parity}(x)=\text{popcount}(x)\bmod 2\)
令 \(f(n,m)\) 表示答案,则
当 \(n=2l+1\) 时,有
记忆化搜索即可,时间复杂度 \(O(\sum(\log n+\log m))\)(使用 unordered_map)
\(\textcolor{purple}\odot\) CF1732E Location
分块,每块 \(B\) 预处理 \(mn_{1\sim V}\),其中 \(mn_d=\min_{b_i \in B,d\mid b_i} b_i\),令块长为 \(S\),则这部分预处理时间复杂度为 \(O(\frac nBV\ln V)\)
每块维护覆盖标记和当前答案
每块的答案容易 \(O(\frac nS\log V)\) 计算
若区间覆盖为 \(v\),则打上标记并跟新答案为 \(\min_{d\mid v} \frac {mn_d}d\frac vd\),每块时间复杂度 \(O(d(V))\),其中 \(d(V)\) 表示 \(1\sim V\) 中最大因子数,\(V=5\times10^4\) 时 \(d(V)=100\)
总时间复杂度 \(O(\frac nSV\log V+q(S\log V+\frac nSd(V)))\),\(S\) 取 \(\sqrt{\frac {nd(V)}{\log V}}\) 最优,时间复杂度 \(O(\frac nSV\log V+q\sqrt{nd(V)\log V})\)
\(\textcolor{purple}\odot\) CF1733E Conveyor
第 \(k\) 个史莱姆最终到达的位置 \((x,y)\) 必然有 \(x+y=k\),因此不存在两个史莱姆到了同一个格子上的情况
考虑差分,求出 \(0\sim t\) 时刻经过 \((x,y)\) 的数量,减去 \(0\sim t-1\) 时刻经过 \((x,y)\) 的数量,若结果 \(=0\) 则 \(t\) 时刻时 \((x,y)\) 不存在,否则存在
转化为给定 \((t,x,y)\),求出 \(0\sim t\) 时刻内经过 \((x,y)\) 的数量
显然只有 \(0\sim t-x-y\) 出发的才可能到达,总计 \(t-x-y+1\) 个
令 \(f_{i,j}\) 表示这 \(t-x-y+1\) 个中,在 \(0\sim t\) 时刻经过 \((i,j)\) 的数量
显然 \(f_{0,0}=s\),转移为 \(f_{x,y+1}\gets \lfloor\frac 12f_{x,y}\rfloor\),\(f_{x,y+1}\gets \lceil\frac 12f_{x,y}\rceil\)
时间复杂度 \(O(\sum xy)\)
\(\textcolor{purple}\odot\) CF1732D2 Balance (Hard version)
令 \(S\) 表示题目中的集合,令 \(R_k\) 表示 \(k\) 的待选集合(即这里面的数可能成为 \(k-\text{mex}\)),令 \(F_v\) 表示 \(v\) 对 \(R_k\) 产生的影响的集合(加入一个数 \(v\) 后对于所有 \(d\mid v\) 都要从 \(R_d\) 中删去 \(v\),但实际上只删除了一部分 \(R_d\) 的 \(v\),用 \(F_v\) 表示这部分子集,用于从 \(S\) 删数后对 \(R\) 的恢复)
加入 \(x\) 时,\(S\gets S\cup\{x\}\)
删除 \(x\) 时,\(S\gets S/\{x\}\),\(\forall u\in F_x,R_u\gets R_u\cup\{x\}\)
查询 \(k\) 时,先向 \(R_k\) 中加入 \(k\),令 \(u\gets \min R_k\)
若 \(u\in S\),则 \(R_k\gets R_k/\{u\}\),若此时 \(R_k=\emptyset\) 则 \(R_k\gets R_k\cup\{u+k\}\),然后令 \(u\gets \min R_k\),\(F_u\gets F_u\cup\{k\}\),并重复
答案为 \(u\)
时间复杂度未知但可过
\(\textcolor{purple}\odot\) CF1731F Function Sum
考虑每个 \(i\) 的贡献
枚举 \(lsl(i)=l\),\(grr(i)=r\),\(a_i=v\),此时方案数为 \(\binom{i-1}l\binom{n-i}r(v-1)^l (k-v+1)^{i-1-l}(k-v)^rv^{n-i-r}\)
答案为
令 $F(v)=v(v-1)^l (k-v+1){i-1-l}(k-v)rv^{n-i-r} $,显然为 \(O(n)\) 次多项式,且容易 \(O(n^2)\) 求出 \(F\),转化为求 \(\sum_{v=1}^k F(v)\),通过 \(\sum_{v=1}^s F(v)\mid 1\le s\le O(n)\) 插出结果即可,单次时间复杂度 \(O(n^2)\)
总时间复杂度 \(O(n^5)\)

浙公网安备 33010602011771号