题目背景
YSGH is our red sun.
题目描述
YSGH 和 YGSH 在打膈膜,YSGS 在旁边围观。
规则是这样的,先给定一个正整数 m 和一个 n 个数的序列 b,一开始有一个棋子在 b 的第一个位置,并将 b1 减去 1。此后双方轮流操作,每次操作,假设当前棋子在 i,可以把棋子移到一个位置 j,满足 j∈[i,min(i+m,n)] 且 bj>0,然后将 bj 减 1,YSGH 先手,谁先不能操作谁输。
众所周知,YSGH 和 YGSH 都是绝顶聪明的,所以两人都会使用最优策略。
而隔膜使用的序列 b 是一个序列 a 的一个连续非空子序列,当然序列 a 和每次隔膜使用的序列 b 都是 YSGS 定的。
现在他们进行了 q 轮游戏,给出每轮游戏使用的区间,请你判断每轮谁会赢。
输入格式
由于本题数据规模较大,直接输入输出会占用比计算多数倍的时间,因此当询问过多时会对询问的输入输出进行了压缩。
第一行四个正整数 n,m,q,type,n,m,q 意义同题面描述,type 表示当前数据的类型,type=1 说明该组数据进行了压缩,type=0 则说明没有,数据保证当 q>106 时,type=1。
第二行 n 个正整数,第 i 个正整数表示 ai,意义同题面描述。
如果 type=1,第三行四个正整数 A,B,C,P,表示询问的生成方式。
每次询问时的调用方法为:
如果生成的 l>r,则还需要交换 l,r。
数据保证 0≤AB<P,0≤C<P,P(B+1)<231−1。
如果 type=0,接下来 q 行,每行两个正整数 l,r,意义同题面描述。
输出格式
令 ansi 表示第 i 次询问中 YSGH 是否会赢,如果会赢则 ansi=1,否则 ansi=0。
输出一行一个整数,表示 (i=1∑qi2⋅ansi)mod232。
提示
对于 25% 的数据,n,m,q≤10,ai≤2。
对于 55% 的数据,n,m,q≤5×103。
另有 15% 的数据,n≤105,m≤5。
对于 90% 的数据,n,m,q≤106。
对于 100% 的数据,1≤n,m≤106,1≤q≤107,1≤ai≤109。