20250906

Mountain Climbing

https://www.luogu.com.cn/problem/P1561

往模拟赛放这题的,和往小学组放这题的,都该【】了。

一个想法是二分第一个牛开始下山的时刻,然后让牛不间断地上山,不间断地下山。

那么贪心先放 \(b - a > 0\) 的扩大后面对于上山容许的最大时间,再放 \(b - a < 0\) 的。\(> 0\) 的内部,再考虑 \(a\) 从小到大。然后后半部分由对称性应当是 \(b\) 从大到小。

发现顺序确定了不需要二分,直接 \(O(n \log n)\) 即可。

Horrible Cycles

https://qoj.ac/problem/838

\(a\) 从小到大排序。

有两种做法,一种只考虑左部点,同时需要记有多少条边(阶梯计数)和多少条链(放哪里),\(O(n^3)\) 过不去。(场上做法,没调出来。sz051 也使用了这一做法。)

另一种做法,考虑上右部点,每一条链两端都是右部点。每次先加入 \(a_i - a_{i - 1}\) 个右部点,然后把点合并成链。因为需要确定链的方向,答案最后需要 \(/2\)。注意合成环的时候不能对孤立点进行操作,所以每次加入答案时减去 \(a_i\)

序列拆分

CF758F Geometrical Progression + 矩阵快速幂。

https://codeforces.com/contest/758/problem/F

对于 \(n \ge 3\) 的情况,枚举公比 \(p/q\),需要保证 \(\gcd(p, q) = 1\),然后 \(p\)\(q\) 不能超过 \(\sqrt V\),预处理可以 \(O(V \log V)\)。据说有一些方法可以做到 \(O(V)\)

123 vs 321

gugugu。

posted @ 2025-09-12 21:43  SZwinsun  阅读(6)  评论(0)    收藏  举报