可以发现大部分操作都是整体操作我们可以打全局 Lazy Tag。对于单点操作我们可以开 std::map 或哈希,但实测 std::mapstd::unordered_map、暴力哈希都过不去,最后只能写个哈希挂链表才卡进了 ......

需要注意几个细节:

  1. 如果需要乘以 0 的操作,那么打成 Lazy Tag 就会比较难维护,可以转化为全局赋 0 的操作。
  2. 读入的时候注意取模,虽然不注意这个你样例都过不去 ......

另外不要像我这个傻逼一样开着文件交了 N 多发 ...

READ MORE

给定一个无向带权图,边权只有 A, B 两种,对于每个点 p \in [1, n] 求出 1 \rightarrow p 所有最小生成树中的最短距离。N \leq 70, M \leq 200

READ MORE

胡一个比 Sooke 垃圾的多两只 \log 做法。

将树树剖,这样的话一条链就可以被分解为 \log n 个区间。如果对每个点开一棵线段树,相当于我们要给这条路径上每个点的线段树都修改上这 \log n 个区间。可以用标记永久化的线段树来完成修改,树上差分 + 线段树合并来完成链上加。

然鹅考场上写完暴力就只有不到 10 分钟了,这么清真的做法竟然没写,报警了 ......

READ MORE