bzoj#P3821. 玄学
玄学
题目描述
给定序列 与常数 ,你需要维护并支持 次以下操作:
1 l r a b
,添加一条 且针对 的变换到计划中,即若执行这条计划,对于 ,;2 l r k
,询问若执行计划中第 条变换, 的值会是多少。
注意询问独立,即不会对 序列实际做出修改。
输入格式
第一行一个整数 表示这组数据的 特征值,它是一个 之间的整数,你需要将其转换为一个五位的二进制数,最低位为第一位,其意义如下:
如果第一位为 ,代表数据进行了加密,否则数据没有进行加密。对于已加密的数据,你需要把第一种操作中的 以及第二种操作中的 与上一次询问操作得到的答案 进行异或操作来得到正确的操作信息。 初始值视为 。
如果第二位为 ,代表修改操作会出现 ( 不为 )的形式,否则一定不会出现这样的修改。
如果第三位为 ,代表修改操作会出现 ( 不为 )的形式,否则一定不会出现这样的修改。
如果第四位为 ,代表修改操作会出现 ( 均不为 )的形式,否则一定不会出现这样的修改。
如果第五位为 ,则我们保证给出的 是一个质数,否则不保证。
第二行两个整数 。
第三行 个整数依次表示 。
第四行一个整数 表示操作次数。
接下来 行,每行一个操作,格式见题目描述。
输出格式
对每个第 类操作,输出独占一行的一个整数,表示那次询问的结果。
24
3 5
1 2 3
5
1 1 2 3 2
1 2 3 4 3
2 1 1 3
1 1 3 1 4
2 1 3 2
3
4
7
3 5
1 2 3
5
1 1 2 0 3
1 2 3 4 0
2 1 1 3
1 2 0 2 0
2 2 0 1
3
4
数据规模与约定
对于 的数据,,。
我们保证,同类型的测试点中加密与不加密的数据点各占 ,且修改操作数不超过 ,所有数的都可以用 int
存下。
由于本题数据量较大,请自行使用读入优化;由于测试点较多以及时限较长,为了大家的正常做题,请尽量减少提交本题的次数。
来源
年国家集训队测试。