摘要:
B. 分治。每次分治一个区间的时候统计所有跨过左右区间的区间对答案的贡献。令一个区间的左右端点分别为 a, b。那么这个区间的答案为 max(m[a], m[b], f[a] + f[b])。其中 m[x] 为 x 到中点的最大子段和,f[x] 为 x 到中点的最大前缀和。使用两个指针向两边扫,每次 阅读全文
摘要:
南京站: J. 操作:区间取max;查询:区间的石堆 + 一堆给定数目 (x) 的石堆所构成的 nim 游戏使先手必胜的先手操作个数(先手第一步的操作方案数)。 由组合游戏的结论有若区间石子的异或和 ^ x 不为 0 则先手必胜,令这个总的异或和为 S。考虑一个石堆,如果先手最开始拿走这个石堆内的石 阅读全文