Live2D

Solution Set -「NOIP Simu.」20221014

A「Unknown」tothecrazyones

  有 n 堆石子, 第 i 堆有 ai 个. Alice 和 Bob 轮流抓取, Alice 每次从至少一堆石子中每堆拿走恰好 x 个, Bob 每次从至少一堆石子中每堆拿走恰好 y 个, 不能操作者负. 求胜者.

  多测, n5×105, x,y,ai109.


  Tag:「水题无 tag」

  经验使然, 先 aiaimod(x+y), 后面的结论好说, 只要 [aix]>0[aix][aiy] 就 Alice 必胜, 否则 Bob 必胜. 大样例测过就交了, 所以签到比较迅速. 证明的 mod(x+y) 的正确性并不复杂, 这里就咕啦.

B「Unknown」vmefifty

  给定 {an}, 每次可以删除相邻且值不同的一对 aiai+1, 求至少删多少次让 {an} 全部相同.

  多测, T5, n2×103.


  Tags:「A.DP-杂项」「C.性质/结论」

  如何判断 a[:r] 能否被删空? 显然, 充要条件是 2(rl+1)a[:r] 中不存在严格众数.

  那么这里就有一个暴力 O(n3) DP, 令 f(i,j) 表示将 a[1:i] 处理直至所有值为 j, 最多保留多少个值. 转移时枚举最近一段删除区间.

  优化? 注意到 [x,y] 可删且 [y+1,z] 可删 [x,z] 可删, 而转移 f 时我们只关心是否有 ai=j. 也就是说, 只要一段区间里没有 j, 我们没必要去考虑怎么一点一点把区间删掉, 而只是在意这段东西被删完后, 我下一个能去到的 ai=j 在哪里. 因此我们只需要对 ai=j 的位置做 f(i,j) 的转移. 这样复杂度就是 O(Tn2) 了.

C「CF 662C」Binary Table

  Link & Solution.

D「CF 1034C」Region Separation

  Link.


  Tag:「水题无 tag」

  检查一下 1na 的因子是否合法, 在固定每个连通块点权后, 划分方案若存在则唯一. 之后 O(nlogn) DP 一下切分方案数即可.

posted @   Rainybunny  阅读(68)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2020-10-14 Solution -「ARC 104D」Multiset Mean
2020-10-14 Solution -「ARC 104C」Fair Elevator
点击右上角即可分享
微信分享提示