Live2D

Solution Set -「Public NOIP Round #3 (Div. 1)」

A 移除石子

  Tags:「A.构造」「C.细节」


  "显然" 直接按 (x,y) 二元组排序后两两组成正方形! 喜提 90pt.

  实际上. 还有一些多但是不复杂的情况讨论, 这里不提. 不过还是可以排一遍序 O(nlogn) 构造的.

B 抓内鬼

  Tag:「A.构造」


  先求出最短路 DAG. 我们其实并不需要去求最小割之类的东西, 因为我们能切掉的边已然是 O(n) 级别. 再结合部分分可以发现, 我们可以直接堵住 1 的部分有效出边和 n 的部分有效入边. 即, 用一种颜色染 1 及其若干可以作为最短路转移边的边, 用另一种颜色染 n 和此时仍然能作为最短路转移边的边. 可以证明, 除了样例 2 的情况必然有解. 复杂度为最短路的 O(mlogm).

C 异或序列

  Tags:「A.DP-计数 DP」「C.性质/结论」


  分析一下序列的性质, 发现若 [x,y,z] 非法, 则 y,z 最高 bit 相同, 高于 x 的最高 bit, 且 x 的最高 bit z. 因此令 f(i) 表示结尾为 i 的序列数量, 枚举 z=1..n, 用总方案减去非法 x 的方案即可. 用桶村 x 的最高 bit 贡献可以做到 O(n), 由于从 z=1z=n 的 bit 变化次数和为 O(n), 所以也可以递推做到 O(n).

  有个 shaber 非要沿用初步讨论中的按最高 bit 转移, 写了个 FWT 优化 DP, 啊对, 确实是 O(nlogn), 你还不能说她 shaber. 但是她前面都写对了最后让所有点向后随便跳的时候转移错了, 换成了暴力都还没看出错, 这才是纯纯的 shaber.

D 数圈圈

  Solution.

posted @   Rainybunny  阅读(66)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2021-11-07 Solution -「UVA 1104」Chips Challenge
点击右上角即可分享
微信分享提示