4.1 模拟赛题解

发布时间 2023-04-01 15:55:18作者: 御坂夏铃

A

一模一样讲过

B

先做一遍前缀和将区间和转成两数之差的形式。

cdq 分治,递归时排好序。按顺序枚举左端点,合法的右端点区间单调移动。

C

IDA*,容易发现每次翻转并不会打乱中间的铁盘,只会改变下边界的相邻关系。

最终顺序相邻两个铁盘大小相差均为 \(1\),所以估价函数设为已操作次数加当前状态相邻铁盘大小相差不为 \(1\) 的数量即可。

D

把游戏看做点,点之间暴力连边,如果最后任意一个出点都与当前点不在同一个强连通分量中则说明不行。时间复杂度 \(O(n^2)\)

问题出在可能有很多游戏有趣程度一样。将相同有趣程度的游戏看成一个点,并将其余兴奋程度也都看成点。这样就只需要判断 \(w_i\)\(e_i\) 是否处于同一个强连通分量了。

连边如果只乘质数时间复杂度和埃氏筛一样。