E
【线段树、区间修改、二分】
带区间修改的线段树经典题目。
前两个操作明显可以直接使用区间修改做。在节点上维护 中的两个系数
和
。
第三个操作,比较好的做法是在线段树上二分。
偷懒的做法是先二分然后再在线段树上查询。具体做法是:我们把未读标记成 1, 已读标记成 0. 对于位置
,我们先求出后缀和
,我们只需要求出
,使得后缀和
,并且让
最大。对位置
二分就可以。
G
【数论、思维】
把样例的数组排序,注意到最终得到的最小的正整数,其实是相邻两个数字的差的最小值。
不过题目给的样例太特殊了,再举一个比较一般的例子,发现最终数列的最小的正整数,是原来数组所有元素的 。设数组的最大值是
,整个数组的
是
,最终数组的长度是
,把原来数组中能够被
整除的刨除,就是我们可以添加的整数的数量
,如果它是奇数,那么先手必胜。否则后手必胜。

京公网安备 11010502036488号