各省省选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

简单差分,树剖,线段树。

posted @ 2023-10-08 18:06  starrylasky  阅读(30)  评论(0)    收藏  举报