{"trustable":true,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e\n .input, .output {\n border: 1px solid #888888;\n }\n .output {\n margin-bottom: 1em;\n position: relative;\n top: -1px;\n }\n .output pre, .input pre {\n background-color: #EFEFEF;\n line-height: 1.25em;\n margin: 0;\n padding: 0.25em;\n }\n \u003c/style\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"//codeforces.org/s/96598/css/problem-statement.css\" type\u003d\"text/css\" /\u003e\n\u003cscript\u003e\n window.katexOptions \u003d {\n delimiters: [\n {left: \u0027$$$$$$\u0027, right: \u0027$$$$$$\u0027, display: true},\n {left: \u0027$$$\u0027, right: \u0027$$$\u0027, display: false},\n {left: \u0027$$\u0027, right: \u0027$$\u0027, display: true},\n {left: \u0027$\u0027, right: \u0027$\u0027, display: false}\n ]\n };\n\u003c/script\u003e\n","sections":[{"title":"","value":{"format":"HTML","content":"\u003cp\u003e给定一个由整数组成的数组$$$a$$$。\u003c/p\u003e\u003cp\u003e你需要回答$$$q$$$个独立的查询,每个查询包含两个整数$$$l$$$和$$$r$$$。\u003c/p\u003e\u003cul\u003e \u003cli\u003e考虑子数组$$$a[l:r]$$$ $$$\u003d$$$ $$$[a_l, a_{l+1}, \\ldots, a_r]$$$。你可以对子数组应用以下操作任意次数(可能为零)- \u003col\u003e \u003cli\u003e选择两个整数$$$L$$$,$$$R$$$使得$$$l \\le L \\le R \\le r$$$和$$$R - L + 1$$$是奇数。\u003c/li\u003e\u003cli\u003e用子数组$$$[L, R]$$$中元素的异或值替换子数组中从$$$L$$$到$$$R$$$的每个元素。\u003c/li\u003e\u003c/ol\u003e \u003c/li\u003e\u003cli\u003e查询的答案是使得子数组$$$a[l:r]$$$中所有元素都等于$$$0$$$所需的最少操作次数,如果无法使它们全部等于$$$0$$$则输出$$$-1$$$。\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e你可以在\u003ca href\u003d\"https://en.wikipedia.org/wiki/Bitwise_operation#XOR\"\u003e这里\u003c/a\u003e找到有关异或操作的更多细节。\u003c/p\u003e"}},{"title":"输入","value":{"format":"HTML","content":"\u003cp\u003e第一行包含两个整数$$$n$$$和$$$q$$$ \u0026nbsp;— 数组$$$a$$$的长度和查询次数。\u003c/p\u003e\u003cp\u003e接下来一行包含$$$n$$$个整数$$$a_1, a_2, \\ldots, a_n$$$ \u0026nbsp;— 数组$$$a$$$的元素。\u003c/p\u003e\u003cp\u003e接下来的$$$q$$$行中,第$$$i$$$行包含两个整数$$$l_i$$$和$$$r_i$$$ \u0026nbsp;— 第$$$i$$$个查询的描述。\u003c/p\u003e"}},{"title":"输出","value":{"format":"HTML","content":"\u003cp\u003e对于每个查询,输出一个整数 \u0026nbsp;— 对该查询的答案。\u003c/p\u003e"}},{"title":"示例","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\u003e7 6\n3 0 3 3 1 2 3\n3 4\n4 6\n3 7\n5 6\n1 6\n2 2\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e-1\n1\n1\n-1\n2\n0\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}},{"title":"注意","value":{"format":"HTML","content":"\u003cp\u003e在\u003cspan class\u003d\"tex-font-style-bf\"\u003e第一个查询\u003c/span\u003e中,$$$l \u003d 3, r \u003d 4$$$,子数组 \u003d $$$[3, 3]$$$。我们只能对长度为$$$1$$$的子数组应用操作,这不会改变数组;因此无法使所有元素都等于$$$0$$$。\u003c/p\u003e\u003cp\u003e在\u003cspan class\u003d\"tex-font-style-bf\"\u003e第二个查询\u003c/span\u003e中,$$$l \u003d 4, r \u003d 6$$$,子数组 \u003d $$$[3, 1, 2]$$$。我们可以选择整个子数组$$$(L \u003d 4, R \u003d 6)$$$,将所有元素替换为它们的异或值$$$(3 \\oplus 1 \\oplus 2) \u003d 0$$$,使得子数组$$$[0, 0, 0]$$$。\u003c/p\u003e\u003cp\u003e在\u003cspan class\u003d\"tex-font-style-bf\"\u003e第五个查询\u003c/span\u003e中,$$$l \u003d 1, r \u003d 6$$$,子数组 \u003d $$$[3, 0, 3, 3, 1, 2]$$$。我们可以按以下方式进行操作:\u003c/p\u003e\u003col\u003e \u003cli\u003e选择$$$L \u003d 4, R \u003d 6$$$,使得子数组$$$[3, 0, 3, 0, 0, 0]$$$。\u003c/li\u003e\u003cli\u003e选择$$$L \u003d 1, R \u003d 5$$$,使得子数组$$$[0, 0, 0, 0, 0, 0]$$$。\u003c/li\u003e\u003c/ol\u003e"}}]}