{"trustable":true,"prependHtml":"\u003cstyle type\u003d\"text/css\"\u003e\n section pre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333;\n background: rgba(255, 255, 255, 0.5);\n border: 1px solid #ccc;\n border-radius: 6px;\n }\n\u003c/style\u003e\n\u003cscript\u003e\n window.katexOptions \u003d {\n delimiters: [\n {left: \u0027\\\\(\u0027, right: \u0027\\\\)\u0027, display: false},\n {left: \u0027\\\\[\u0027, right: \u0027\\\\]\u0027, display: true}\n ]\n };\n\u003c/script\u003e\n","sections":[{"title":"问题描述","value":{"format":"HTML","content":"\u003csection\u003e\r\n\u003cp\u003e我们有一个长度为\u003cvar\u003e\\(N\\)\u003c/var\u003e的整数序列\u003cvar\u003e\\(A\\)\u003c/var\u003e。\u003cbr\u003e\r\n您将在这个序列上处理\u003cvar\u003e\\(Q\\)\u003c/var\u003e个查询。在第\u003cvar\u003e\\(i\\)\u003c/var\u003e个查询中,给定值\u003cvar\u003e\\(T_i\\)\u003c/var\u003e、\u003cvar\u003e\\(X_i\\)\u003c/var\u003e和\u003cvar\u003e\\(Y_i\\)\u003c/var\u003e,请执行以下操作:\u003c/p\u003e\r\n\u003cul\u003e\r\n\u003cli\u003e如果\u003cvar\u003e\\(T_i \u003d 1\\)\u003c/var\u003e,则用\u003cvar\u003e\\(A_{X_i} \\oplus Y_i\\)\u003c/var\u003e替换\u003cvar\u003e\\(A_{X_i}\\)\u003c/var\u003e。\u003c/li\u003e\r\n\u003cli\u003e如果\u003cvar\u003e\\(T_i \u003d 2\\)\u003c/var\u003e,则打印\u003cvar\u003e\\(A_{X_i} \\oplus A_{X_i + 1} \\oplus A_{X_i + 2} \\oplus \\dots \\oplus A_{Y_i}\\)\u003c/var\u003e。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003cp\u003e这里,\u003cvar\u003e\\(a \\oplus b\\)\u003c/var\u003e表示\u003cvar\u003e\\(a\\)\u003c/var\u003e和\u003cvar\u003e\\(b\\)\u003c/var\u003e的按位异或。\u003c/p\u003e\r\n\u003cdetails\u003e\r\n\u003csummary\u003e什么是按位异或?\u003c/summary\u003e\r\n\u003cp\u003e\r\n整数\u003cvar\u003e\\(A\\)\u003c/var\u003e和\u003cvar\u003e\\(B\\)\u003c/var\u003e的按位异或,记作\u003cvar\u003e\\(A \\oplus B\\)\u003c/var\u003e,定义如下:\r\n\u003c/p\u003e\u003cul\u003e\r\n\u003cli\u003e当\u003cvar\u003e\\(A \\oplus B\\)\u003c/var\u003e用二进制表示时,在第\u003cvar\u003e\\(2^k\\)\u003c/var\u003e位上的数字(\u003cvar\u003e\\(k \\geq 0\\)\u003c/var\u003e)是\u003cvar\u003e\\(1\\)\u003c/var\u003e,如果\u003cvar\u003e\\(A\\)\u003c/var\u003e或\u003cvar\u003e\\(B\\)\u003c/var\u003e中有且仅有一个在第\u003cvar\u003e\\(2^k\\)\u003c/var\u003e位上有\u003cvar\u003e\\(1\\)\u003c/var\u003e,否则为\u003cvar\u003e\\(0\\)\u003c/var\u003e。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n例如,\u003cvar\u003e\\(3 \\oplus 5 \u003d 6\\)\u003c/var\u003e。(二进制表示:\u003cvar\u003e\\(011 \\oplus 101 \u003d 110\\)\u003c/var\u003e。)\r\n\u003cp\u003e\u003c/p\u003e\r\n\u003c/details\u003e\u003cp\u003e\u003c/p\u003e\r\n\u003c/section\u003e"}},{"title":"约束条件","value":{"format":"HTML","content":"\u003csection\u003e\r\n\u003cul\u003e\r\n\u003cli\u003e\u003cvar\u003e\\(1 \\le N \\le 300000\\)\u003c/var\u003e\u003c/li\u003e\r\n\u003cli\u003e\u003cvar\u003e\\(1 \\le Q \\le 300000\\)\u003c/var\u003e\u003c/li\u003e\r\n\u003cli\u003e\u003cvar\u003e\\(0 \\le A_i \\lt 2^{30}\\)\u003c/var\u003e\u003c/li\u003e\r\n\u003cli\u003e\u003cvar\u003e\\(T_i\\)\u003c/var\u003e为\u003cvar\u003e\\(1\\)\u003c/var\u003e或\u003cvar\u003e\\(2\\)\u003c/var\u003e。\u003c/li\u003e\r\n\u003cli\u003e如果\u003cvar\u003e\\(T_i \u003d 1\\)\u003c/var\u003e,则\u003cvar\u003e\\(1 \\le X_i \\le N\\)\u003c/var\u003e和\u003cvar\u003e\\(0 \\le Y_i \\lt 2^{30}\\)\u003c/var\u003e。\u003c/li\u003e\r\n\u003cli\u003e如果\u003cvar\u003e\\(T_i \u003d 2\\)\u003c/var\u003e,则\u003cvar\u003e\\(1 \\le X_i \\le Y_i \\le N\\)\u003c/var\u003e。\u003c/li\u003e\r\n\u003cli\u003e输入中的所有值均为整数。\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/section\u003e"}},{"title":"输入","value":{"format":"HTML","content":"\u003csection\u003e\r\n\u003cp\u003e输入以以下格式从标准输入中给出:\u003c/p\u003e\r\n\u003cpre\u003e\u003cvar\u003e\\(N\\)\u003c/var\u003e \u003cvar\u003e\\(Q\\)\u003c/var\u003e\r\n\u003cvar\u003e\\(A_1 \\hspace{7pt} A_2 \\hspace{7pt} A_3 \\hspace{5pt} \\dots \\hspace{5pt} A_N\\)\u003c/var\u003e\r\n\u003cvar\u003e\\(T_1\\)\u003c/var\u003e \u003cvar\u003e\\(X_1\\)\u003c/var\u003e \u003cvar\u003e\\(Y_1\\)\u003c/var\u003e\r\n\u003cvar\u003e\\(T_2\\)\u003c/var\u003e \u003cvar\u003e\\(X_2\\)\u003c/var\u003e \u003cvar\u003e\\(Y_2\\)\u003c/var\u003e\r\n\u003cvar\u003e\\(T_3\\)\u003c/var\u003e \u003cvar\u003e\\(X_3\\)\u003c/var\u003e \u003cvar\u003e\\(Y_3\\)\u003c/var\u003e\r\n\u003cvar\u003e\\(\\hspace{22pt} \\vdots\\)\u003c/var\u003e\r\n\u003cvar\u003e\\(T_Q\\)\u003c/var\u003e \u003cvar\u003e\\(X_Q\\)\u003c/var\u003e \u003cvar\u003e\\(Y_Q\\)\u003c/var\u003e\r\n\u003c/pre\u003e\r\n\r\n\u003c/section\u003e"}},{"title":"输出","value":{"format":"HTML","content":"\u003csection\u003e\r\n\u003cp\u003e对于按照接收顺序中带有\u003cvar\u003e\\(T_i \u003d 2\\)\u003c/var\u003e的每个查询,将响应打印在自己的一行中。\u003c/p\u003e\r\n\u003c/section\u003e"}},{"title":"示例1","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e3 4\r\n1 2 3\r\n2 1 3\r\n2 2 3\r\n1 2 3\r\n2 2 3\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e0\r\n1\r\n2\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\r\n\u003csection\u003e\r\n\r\n\r\n\u003c/section\u003e\r\n\r\n\u003csection\u003e\r\n\r\n\r\n\u003cp\u003e在第一个查询中,我们打印\u003cvar\u003e\\(1 \\oplus 2 \\oplus 3 \u003d 0\\)\u003c/var\u003e。\u003cbr\u003e\r\n在第二个查询中,我们打印\u003cvar\u003e\\(2 \\oplus 3 \u003d 1\\)\u003c/var\u003e。\u003cbr\u003e\r\n在第三个查询中,我们用\u003cvar\u003e\\(2 \\oplus 3 \u003d 1\\)\u003c/var\u003e替换\u003cvar\u003e\\(A_2\\)\u003c/var\u003e。\u003cbr\u003e\r\n在第四个查询中,我们打印\u003cvar\u003e\\(1 \\oplus 3 \u003d 2\\)\u003c/var\u003e。\u003c/p\u003e\r\n\u003c/section\u003e"}},{"title":"示例2","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e10 10\r\n0 5 3 4 7 0 0 0 1 0\r\n1 10 7\r\n2 8 9\r\n2 3 6\r\n2 1 6\r\n2 1 10\r\n1 9 4\r\n1 6 1\r\n1 6 3\r\n1 1 7\r\n2 3 5\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e1\r\n0\r\n5\r\n3\r\n0\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\r\n\u003csection\u003e\r\n\r\n\r\n\u003c/section\u003e\r\n\r\n\u003csection\u003e\r\n\u003c/section\u003e"}}]}