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)\)

posted @ 2026-04-09 14:46  XiaoZi_qwq  阅读(10)  评论(0)    收藏  举报