Loading

2023.8-2023.9 水题记录

几乎全是 CF 和 AT /oh

1. CF1856D More Wrong

这场 CF 场上只写出来 ABD (主要卡 B 的证明上了), 什么水平?
90% 交互 = binary search (暴论)

2. CF1851G Vlad and the Mountains

是我没见过的操作. 学到了.

3. CF1856C To Become Max

考试的时候没看. 简单二分.

4. CF1270G Subset with Zero Sum

简单题, 感觉条件提示的很明显啊.

5. P9533 [YsOI2023] 区间翻转区间异或和

简单小证明. 粉兔在 CF 讨论里面说这题被 ChatGPT 做出来了 /oh

6. AT_arc120_c [ARC120C] Swaps 2

什么 MO 操作. 你需要知道邻项交换次数=逆序对数.

7. CF1034A Enlarge GCD

简单数学.

8. P9323 [EGOI2022] Toy Design / 玩具设计

90% 交互 = binary search (反复强调)

9. AT_abc312_f [ABC312F] Cans and Openers

枚举第二种就做完了, 然后调了一年.

10. AT_agc061_b [AGC061B] Summation By Construction

简单构造, 但是创死了一车人, 怎么回事呢?
本人题解

11. CF1144G Two Merged Sequences

有趣小结论. 要我上的话直接保证有解然后卡 \(O(1)\) 空间 /oh

12. AT_abc191_f [ABC191F] GCD or MIN

简单数学.

13. CF920E Connected Components?

取度数最大的点就完事了.
为什么翻译不说排序输出啊?

14. CF1458C Latin Square

关键在于整体地看 \((i,j,a_{i,j})\) 这个东西, 操作就是某一维增量和交换维度, 可以 \(O(1)\) 完成.

15. CF1858E2 Rollbacks (Hard Version)

场上写的可持久化线段树, 喜提 MLE /oh
数颜色通常可以记一下每种颜色第一次出现的位置, 这样减操作直接减长度, 查询直接前缀和. 为了方便维护可以对每个颜色开个 set 记录位置.
末尾加的时候注意一点细节, 别直接把要加位置的给覆盖掉了, 要存起来方便回滚.
回滚操作用个 stack 存一下就行了.

16. P6960 [NEERC2017] Interactive Sort

这题很没脑子啊, 保证随机, 然后喜闻乐见地 binary search.

17. AT_arc122_e [ARC122E] Increasing LCMs

有趣构造.
大概的想法是, 考虑一个数能放在最后的充要条件. 然后就和这个数没关系了.
根据那个条件可以证明能放在最后的数不会减少.

18. AT_agc003_e [AGC003E] Sequential operations on Sequence

好题不难.
首先有意义的操作一定单增. 每个操作可以拆成循环和余数两部分, 最后发现贡献形状类似于一棵树, 从上往下算贡献即可.
不过不需要存树. 余数的部分可以直接二分到对应位置, 这样处理是 \(\log w\) 级别的.
最后整个差分, 做完了!

19. CF1854A2 Dual (Hard Version)

这场太困睡着了, 没打.
容易想到把符号全整成一样的, 然后前缀/后缀和, 赢!
简单的想法是用绝对值最大的做, 但是次数太多. 另一种想法是, 先把一个数倍增到足够大再给符号相反的加上. 平衡两种操作恰能卡满.

20. CF1849E Max to the Right of Min

简单题, 为什么我场上没做出来呢?
这种东西很明显能做的操作, 一个是单调栈, 一个是扫描线. 然后就没什么难的了.

21. AT_agc063_b [AGC063B] Insert 1, 2, 3, ...

知道怎么判断可生成但是没想出来, 什么水平?

22. AT_agc063_c [AGC063C] Add Mod Operations

被 Ad-hoc 爆杀.

23. CF1859F Teleportation in Byteland

分讨题, 没做出来.

24. CF1670E Hemose on the Tree

25. CF1827E Bus Routes

需要注意到的关键性质是, 我们只需要判断叶子结点是否两两可达.
对每个叶子结点求出来它能通过一条链到达的深度最小的点.
这时求出来的点一定都在一条直链上, 否则显然不能通过两条路径到达.

26. CF1856E2 PermuTree (hard version)

喜报: 校内模拟考这题, ans+=i*(sum-i); 只对 ans 开 long long, 后面没开, 88->56.
容易转化成对每个结点, 将子树的大小分成差尽量小的两部分, 直接 01 背包 + bitset 就获得了 \(O(\dfrac{n^2}{w})\) 的优秀做法(?
注意到不同的数只有 \(O(\sqrt{n})\) 种, 二进制拆分后就有单次 \(O(n\sqrt{n}\log n)\), 实际上因为一些神秘原因并没有那个 log.
但是对整棵树这样做还是会寄. 发现重子树如果大于整体一半那么直接把重子树单独分出来即可.
否则所有子树大小都不超过原来的一半, 此时递归时间复杂度正确. 因为一些神秘原因还是没有 log.
别人写的时间复杂度证明

27. AT_agc018_f [AGC018F] Two Trees

经典好题.

28. AT_agc064_b [AGC064B] Red and Blue Spanning Tree

没脑子题, 但是我赛时没做出来!
用边的方向表示归属关系. 先把双向边加完了, 然后每次加连向合法连通块的边.

29. CF1209F Koala and Notebook

30. CF1854B Earn or Unlock

31. CF319E Ping-Pong

线段树维护线段/oh
难点在于并查集连边.

32. P5283 [十二省联考 2019] 异或粽子

把顺序限制给扬了, 然后答案取在 \(2k\). 对角线全是 \(0\), 没影响.
这是 P1631 序列合并, 多一个在 01-Trie 上找异或第 \(k\) 大.

33. AT_agc062_c [AGC062C] Mex of Subset Sum

34. CF888G Xor-MST

35. CF1849F XOR Partition

36. CF1439B Graph Subset Problem

37. CF1473E Minimum Path

38. CF1583F Defender of Childhood Dreams

39. AT_abc302_h [ABC302Ex] Ball Collector

链上的是 ARC111B. 二元关系考虑连边, 并查集随便维护.
上树直接来个可撤销就完事了.

40. CF903G Yet Another Maxflow Problem

这个题应该是最近掉紫的.
最大流没法做, 转成最小割.

41. CF516D Drazil and Morning Exercise

说句闲话: 40 和 41 都是远古模拟赛放 T4 搞心态的. 不过也没有那么不可做!

42. CF1827D Two Centroids

43. CF1827B2 Range Sorting (Hard Version)

posted @ 2023-08-19 18:18  pjykk  阅读(93)  评论(0编辑  收藏  举报