CF Round 1026(Div.2) 解题报告
CF Round 1026(Div.2) 解题报告
ABC
略
D
显然,答案具有单调性,先套二分转判断性问题。
判断就跑拓扑排序即可。
E
图论建模。
将 \((v_i,p_i)\) 视为左部点 \(v_i\) 和右部点 \(p_i\) 的连边,那么有解当且仅当存在欧拉路径。
F
考虑 \(f(a,b)(a<b)\) 有一个性质是 \(b\in (a,2a)\),则 \(f(a,b)=b\);
同时还满足 \(f(a,b)\le b\):考虑 \(b=ka+x(k\in N^*,b\in [0,a))\),那么 \(f(a,b)=x+a\) 若 \(x+a > b\),则说明 \(k<1\),矛盾。
那么考虑新加进来的数 \(x\) 的贡献,记之前的最大值为 \(mx\):首先 \(x\) 一定会与 \(mx\) 贡献,否则无论如何都不可能使贡献大于序列的严格次小值(因为严格次小值和最大值的贡献不小于严格次小值)。接下来分类讨论:
- 若 \(x\le 2mx\):则贡献为 \(f(x,mx)\);(到这里有效贡献都为前缀最大值)
- 若 \(x>2mx\):此时性质一不成立了,即 \(mx\) 和 \(x\) 匹配不一定最优。那么需要枚举前缀中的每一个值进行计算。
分析时间复杂度:操作一是单次 \(O(1)\) 的,操作二单次 \(O(n)\),但注意到每次进行操作二最大值翻倍,所以至多进行 \(O(\log V)\) 次。
综上时间复杂度 \(O(n\log V)\)。

浙公网安备 33010602011771号