题解 | A-D
神奇天平
https://ac.nowcoder.com/acm/contest/11181/A
A 神奇天平
一道热身题, 每次把物品尽可能平均的分成 堆, 把其中 堆放到天平上,如果平衡,重球在不在天平的那一堆里,否则在最重的那一堆里。所以最劣情况下每次 至少被缩小为
B 魔法学院(easy version)
裸的线段树题,题意实际上是区间取 , 最后求区间和, 用线段树可以 解决.
C 魔法学院(hard version)
数据加强了,刚才 的做法没用了。发现只有最后才会进行一次询问,所以可以把修改操作离线下来。按照 排序,这样保证后面修改的值比前面大,可以直接用区间覆盖来解决。用珂朵莉树,复杂度
D 监狱逃亡
监狱的宽等于 , 先考虑宽等于 的做法。
宽等于 很简单,枚举在哪列向下移动就行。
那么宽等于 , 就是枚举第二次在哪列向下移动,至于第一次在哪列要用数据结构来维护。
设第二次向下移动后路径价值和为 , 移动前为 , 只需满足 即可,也就是 可以用数组数组来维护。
第二次向下移动的列从 列移动到 列,那么所有的 都会加 但是直接加是不行的,所以可以用 记录一下整体加。 code