AtCoder Beginner Contest 179

https://atcoder.jp/contests/abc179

我的 AC 代码

https://atcoder.jp/contests/abc179/submissions/me?f.Task=&f.LanguageName=&f.Status=AC&f.User=HinanawiTenshi

这场需要分析的量比较少。

D

考虑 DP,最多 K10 个区间可以转移,所以直接枚举就行。

E

注意到多次平方取模肯定会形成一个周期,对数值的转移建成图就是一个链套环的结构。

例如 A0=3,mod=7,那么

A1=2,A2=4,A3=1,A4=1,...

因此链部分是 A1,A2,剩下部分对应周期 =1 的环。

模数是 1e5 级别,我们可以保证在 1e5 次操作内得到周期,所以直接计算出来就好了。

F

考虑每次插棋子的操作对整体局面的影响。

可以发现边缘的行列没用,忽略之,不妨认为 nn2

行和列分别维护一个数列,初始值都是 n

统计每一次能插入多少个白棋即可,也就是对数列进行单点查询。

假设现在第 k 列插入了 q 个白棋,那么对行数列的影响就是前缀 q 个位置的值 valmin(val,k1)

反之同理(即行插入棋子对列的影响同理)。

可以发现操作对应单点查询与前缀取 min,使用线段树维护即可。

posted @   HinanawiTenshi  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
历史上的今天:
2021-08-29 Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)
点击右上角即可分享
微信分享提示