各省省选2019
写在前面
近几年赛题质量一定不会太差。
BJOI2019
P5320
AC 自动机,DP,简单题。
P5320
对于 \(m=2\) 有:\(F(n,0)=F(n-1,0)+F(n-2,0)\)。
\(F(n,k)=F(n,k-1) \cdot (F(n,0)-k) \cdot k^{-1}\)。不难解决数据点 \(1 \to 4\)。
正解是神仙数论,咕了。
P5321
大模拟能不能滚出 OI 啊。
P5322
背包,简单题。
P5323
设 \(f_{i,0/1}\) 分别为 \(i-1 \to i,i+1 \to i\) 的光线,那么答案为 \(f_{n,0}\cdot a_n\)。
显然有转移 \(f_{i,0}=f_{i-1,0}a_{i-1}+f_{i-1,1}b_{i-1},f_{i,1}=f_{i+1,0}b_{i+1}+f_{i+1,1}a_{i+1}\)。
移项可得:\(f_{i,1}=f_{i+1,0}b_{i+1}+f_{i+1,1}a_{i+1},f_{i,0}=(f_{i+1,0}-f_{i,1}b_i) a_i^{-1}\)。
P5324
不难 DP,设 \(f_{i,j,k}\) 能加 \(k\) 个数,上一个数为 \(j\),\(O(mn^3)\)。
令 \(i\) 的出现次数为 \(c_i\),那么 \([i-c_i+1,i]\) 搞为 \(1\),那么答案为 \([1,n]\) 为 \(0\) 的个数。删除的数一定满足 \(k_1 \times n,k_2 \times (n-k_1),\cdots\),遇到 \(0\) 时就从重复的地方拿一个过来,不难发现一定构造出一种合法解。不难用线段树维护做到 \((n+m) \log n\)。
SDOI2019
P5358
简单题。
* P5359
将同类的贡献合并,化简所求解的问题。
* P5360
对于两个颗树的合并,只需要管两边都有的点分别形成虚树。
P5361
乱搞贪心。
* P5362
对于一个东西有多种形式,尽可能将每种情况都带进去。
* P5363
阶梯级 Nim 游戏板子。
GXOI2019
P5300
简单单调栈。
P5301
大模拟去死。
P5302
逆序对,扫描线板子。
P5303
矩阵快速幂。
P5304
简单最短路。感觉官方题解中的二进制分组很有普遍性。
P5305
简单差分,树剖,线段树。

浙公网安备 33010602011771号