TopCoder

icube
baluteshih 好強 <(_ _)>

User's AC Ratio

94.7% (36/38)

Submission's AC Ratio

22.3% (59/265)

Tags

Description

年輕的銷售經理-林晚榮,和公司的女老闆到泰山旅遊時意外墜崖,來到了一個完全不同的世界(類似古代中國的宋代或明代),成為蕭家大宅里一名光榮的家丁(花匠)-天下第一丁(後來因有功而御賜)。從振興蕭家為起點:滅“白蓮”(利用六百人的老弱糧兵,直接剷除白蓮教主力團伙),轟“聖坊”〈為了帶走老婆肖青璇〉,鬥硯秋(大學士梅硯秋,洛凝在京城的導師),戲康寧,金陵賽詩會,山東救官銀(創造一大奇觀“魚躍龍門”),氣煞玉德仙坊老院主,智護蕭家大院'新'夫人,奇襲突厥皇宮,活捉突厥小可汗,為苗族人民除去貪官,讓苗族人民過上好生活。每一件事都可以看出林三的智慧,在那個時代包括現代的人都很難達到的。凡此種種(順序與原作有出入),不一而是,林三壯舉多如牛毛,賢妻良母真心相待。全書敘事「不拘一格」(拘了一格就不是三哥了!)有言:欲知三哥風采如何,且觀禹岩家丁風流!
當然,這次的主角並不是林三,而是你,もも,一個弱雞勇者,投魂到了林三的身上。你發明了時光機,回到古代要救回「那一位」。但是不知道發生了什麼事情,居然投魂到別人身上了……

這日,林三接到了皇帝的聖旨:
「北方匈奴如今又派使臣到我大華,此使臣聰明伶俐,隨手出了一個考題,竟考倒了朕的眾多大臣。朕命你速速趕回京城,替朕解決此難題,欽此。」
林三心道:
「皇帝老爺怎麼說也是我的岳父,當然得替他解難了。而且或許可以借此得知那一位的下落」
於是你,もも,一個弱雞勇者,快馬加鞭趕往京城。
到了京城,林三才知道原來這所謂的難題只不過是一個極為簡單的數學,XOR。
當然,古時候的人怎麼會有這麼先進的數學概念。
使臣朗聲道:
''現在我要給你一個數列,然後你要做兩件事。
第一件事,給你 L, R,請算出 [L,R] 的總和。
第二件事,給你L, R, X,請把 [L,R] 中的所有數字都 XOR X。
只要你能完成我的要求,我們匈奴願意永遠朝貢你們大華。''

Input Format

第一行是一個數字 N 表示序列數字個數。
接下來一行有 N 個數子。
第三行是一個數字 Q 表示幾件要求的事。
接下來有 Q 行,表示他要求林三的事。
如果開頭是 1 表示使臣要求林三做第一件事,後面跟著 L, R。
如果開頭是 2 表示使臣要求林三做第二件事,後面跟著 L,R,X。
對於 50% 的測資 N,Q≤8000
對於 100% 的測資 N≤100000,Q≤50000
input內所有的數字皆小於 106

Output Format

對於每個 為1 的詢問,請輸出一個數字表示總合的結果。
output內所有的數字皆小於 1000000000000000

Sample Input 1

6
4 7 4 0 7 3
5
2 2 3 8
1 1 5
2 3 5 1
2 4 5 6
1 2 3

Sample Output 1

38
28

Hints

XOR在 c++程式碼中有 "^" 這個運算符。
EX: 11^4 = 15 (不是次方喔XD!)

有興趣的讀者可以拜讀 禹岩-極品家丁。

Problem Source

Step5

Subtasks

No. Testdata Range Score
1 0~8 50
2 9 50

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 65536 262144 1
1 1000 65536 262144 1
2 1000 65536 262144 1
3 1000 65536 262144 1
4 1000 65536 262144 1
5 1000 65536 262144 1
6 1000 65536 262144 1
7 1000 65536 262144 1
8 1000 65536 262144 1
9 1000 65536 262144 2