5.23 CSAcademy 综合训练
Contest 1.
A. Alex Chills
手玩一下发现这个是以 \(n + 1\) 为周期的,所以可以像 lxl ST 表那样,预处理块内前后缀,小于 \(n + 1\) 就暴力,否则就拿一段前缀,一段后缀与整块贡献拼起来。
B. Alex Counts
我怎么又觉得过不了就不写啊
直接枚举每个位置,然后分解因数就好了。
D. Alex Combines
开始还以为是莫队 / DDP,但是是倍增
我们预处理 \(dp _ {i}\) 表示 \([i,dp _ {i})\) 是最长合法段,这个可以预处理,就是对每个值记录 \(last\),更新 \(dp _ i\) 之后更新 \(last\),查询就直接跳 \(dp\)。
观察发现这个可以倍增优化,则直接倍增,把线性干成 \(\log\)。
Contest 2.
E. Final E
甚至网络流是最简单的一块
这种问题是匹配问题,直接网络流,源点向每个发射器连边,容量就是初始数量,每个发射器向它能发射到的地方连边,容量 \(1\),每个位置向汇点连边,容量 \(1\)。
然后就能跑出来每个地方是哪个发射器发射出来的。但是有个问题,这个依赖关系可能会成环,这个时候,我们发现,把每个元素顺时针旋转一个位置,就能消除环,同时仍满足条件。
找环使出传统艺能,用 DFS。

浙公网安备 33010602011771号