CF2030 合集
云落碎碎念
- 题面翻译取自 luogu,本蒟蒻也会安置原题链接
- 不保证文章中不出现“显然”或者“注意到”,可能会出现“易证”
- 有写错的地方欢迎各位神犇指正
前言
怎么摆了这么久,执行力约等于 \(0\) 的一天
CF2030A
第一个一定是最大值或者最小值,随便构造即可
CF2030B
\(f(t)\) 和 \(g(t)\) 可以直接被表示出来,然后答案为 \(1\) 好构造,答案为 \(0\) 的情况不存在
CF2030C
核心在于运算优先级,Alice 先动肯定就是用 bitor,然后简单判断即可
CF2030D
CF 特有的前置转化题,考虑若干分界线,如果分界线左侧不是 \(1 \sim i\) 的排列就无解
单点修改只会影响 \(O(1)\) 个位置的分界线情况,set 维护即可
CF2030E
考虑给定序列怎么算最大值,发现和数字 \(num\) 的最小出现次数有关
所以计数题就考虑一个数 \(k\) 出现 \(i\) 次的贡献
-
前面所有数全都出现了至少 \(i\) 次,且 \(k\) 用了 \(i\) 次
-
前面所有数出现了至少 \(i\) 次,且存在至少一个数出现了恰好 \(i\) 次,且 \(k\) 用了 \(>i\) 次
后面的没有约束,可以任取,前面的东西可以预处理,把 \(k\) 的贡献枚举一下加起来即可
CF2030F
有颜色括号匹配???
\(l\) 固定,合法的 \(r\) 构成一段由 \(l\) 开始的连续区间
判定不合法相当于判定是否存在有交且不包含的情况,经典维护 pre 值
具体来说双指针维护上面的 \(r\) 区间结构,两指针移动的时候,在线段树上修改 pre 即可
后记
还有模拟赛总结没有写
完结撒花!

浙公网安备 33010602011771号