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。

posted @ 2025-06-02 21:08  xguagua_233  阅读(15)  评论(0)    收藏  举报