TopCoder

User's AC Ratio

92.9% (13/14)

Submission's AC Ratio

56.5% (26/46)

Tags

Description

在哀喔哀國中的唉呦唉市,新生兒的數量越來越多了,學校逐漸開始不足以容納這麼多的學生,於是呱呱收到來自長官的命令,要建立一所新的學校來容納學生。然而,呱呱拿到的經費實在是不夠,而且上頭給的期限實在是太緊了,於是他只好從一間倒閉的醫院買來現成的大樓來改裝。他在改裝的途中,可能是因為這間醫院是在墓地上建起的,容易有一些靈異事件,據說本來在這的醫院會倒閉也跟這有關係。但事已至此,呱呱只好硬著頭皮繼續改裝。這樣下去實在不是辦法,於是呱呱托關係找來了喵已己大師,希望他能夠幫忙解決這個問題。

喵已己大師先是在周圍插上了 $N$ 個靈樁,$N$ 個靈樁圍成了一個環,第 $i$ 個在第 $i+1$ 個左邊($\forall 1\le i\le N-1$),第 $N$ 個在第 $1$ 個左邊。每根靈樁都有一個初始的靈能因子 $a_i$。

接下來,他會進行 $Q$ 次施法,每次施法可能是一個調律法術或是一個共鳴法術,每次施法的影響範圍會是一些連續的靈樁。當法術選擇的範圍是第 $l$ 到第 $r$ 根靈樁,若 $l\le r$,則這次施法會影響第 $l,l+1,...,r-1,r$ 個靈樁。若 $l>r$,則這次施法會影響第 $l,l+1,\cdots,n,1,\cdots,r-1,r$ 個靈樁。

調律法術有兩種,萬世歸一天地啟行,施法時會有一個施法因子 $x$:

  • 萬世歸一:將受影響的靈樁的靈能因子變為 $x$。
  • 天地啟行:將受影響的靈樁的靈能因子變為與 $x$ 共鳴後的波動強度。

共鳴法術也有兩種,星辰閃耀破碎光輝

  • 星辰閃耀:使受影響的靈樁全體共鳴
  • 破碎光輝:使受影響的靈樁兩兩相鄰共鳴並使波動疊加。特別地,若選到了所有靈樁,也就是 $l=1,r=n$ 或 $r+1=l$,則第一個選到的靈樁($l$) 與最後一個選到的靈樁($r$)不會共鳴。

假設有 $k$ 個靈樁參與共鳴,令它們的靈能因子為 $x_1,x_2,\ldots,x_k$,則共鳴後的波動強度為 $x_1\oplus x_2\oplus \cdots\oplus x_k$,其中 $\oplus$ 為位元異或和(Bitwise XOR)。特別地,一個靈樁共鳴後的波動強度就是該靈樁的靈能因子。

波動疊加則是直接將波動強度相加。

現在告訴你喵已己大師 $Q$ 次法術的詳細內容,對於每次共鳴法術,你能計算出施法釋放的波動強度是多少嗎?

註:$\lfloor x\rfloor$ 為不超過 $x$ 的最大整數。

Input Format

輸入第一行有兩個正整數 $N, Q$,代表喵已己大師插下的靈樁數量與會進行幾次施法。

輸入第二行有 $N$ 個正整數,代表每根靈樁的初始靈能因子。

接下來 $Q$ 行,每行代表一次施法,有以下幾種情況:

  • $1$ $l$ $r$ $x$:對於第 $l$ 到第 $r$ 根靈樁使用萬世歸一,施法因子為 $x$
  • $2$ $l$ $r$ $x$:對於第 $l$ 到第 $r$ 根靈樁使用天地啟行,施法因子為 $x$
  • $3$ $l$ $r$:對於第 $l$ 到第 $r$ 根靈樁使用星辰閃耀
  • $4$ $l$ $r$:對於第 $l$ 到第 $r$ 根靈樁使用破碎光輝
  • $1 \leq N,Q \leq 5 \times 10^ 5$
  • $1 \leq l,r \leq N$
  • $0 \leq a_i,x \leq 10^ 9$
  • 至少有一次共鳴法術

Output Format

對於每個共鳴法術輸出一行,該行有一個整數代表該次施法釋放的波動強度。

Sample Input 1

5 5
1 2 3 4 5
1 4 5 3
2 5 2 7
3 1 5
4 3 1
4 5 2

Sample Output 1

7
9
5

Sample Input 2

10 7
65 71 46 84 10 82 41 23 43 61
2 1 1 49
2 1 10 54
4 2 6
4 7 9
2 5 6 64
2 1 2 92
4 1 10

Sample Output 2

409
122
551

Sample Input 3

9 9
13 98 57 71 15 65 15 88 86
3 2 7
2 9 9 56
4 7 9
4 2 5
2 2 8 75
4 1 1
4 1 9
2 5 9 29
4 2 4

Sample Output 3

93
141
289
0
693
217

Sample Input 4

9 10
93 34 53 92 15 29 91 67 37
4 2 6
4 3 8
2 1 9 7
2 2 8 19
1 6 9 46
4 2 7
4 4 5
3 6 9
4 4 5
4 2 8

Sample Output 4

229
300
264
83
0
83
264

Sample Input 5

17 16
83 100 91 3 61 95 46 47 72 38 22 83 59 46 77 98 12
3 3 9
1 2 2 24
1 5 6 67
2 3 3 27
3 9 7
1 15 17 63
2 6 11 22
2 12 12 57
4 13 8
1 7 9 3
3 4 4
3 2 16
1 3 7 26
3 6 1
1 8 9 67
3 1 1

Sample Output 5

115
59
572
3
1
35
83

Hints

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0~4 範例測資 0
2 5~12 $N,Q \leq 1000, l \leq r$ 5
3 13~19 $l \leq r, t\notin\lbrace1,3\rbrace$ 20
4 13~24 $l \leq r, t\neq 1$ 10
5 5~34 $l \leq r$ 35
6 0~49 無額外限制 30

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 6000 262144 65536 1 6
1 6000 262144 65536 1 6
2 6000 262144 65536 1 6
3 6000 262144 65536 1 6
4 6000 262144 65536 1 6
5 6000 262144 65536 2 5 6
6 6000 262144 65536 2 5 6
7 6000 262144 65536 2 5 6
8 6000 262144 65536 2 5 6
9 6000 262144 65536 2 5 6
10 6000 262144 65536 2 5 6
11 6000 262144 65536 2 5 6
12 6000 262144 65536 2 5 6
13 6000 262144 65536 3 4 5 6
14 6000 262144 65536 3 4 5 6
15 6000 262144 65536 3 4 5 6
16 6000 262144 65536 3 4 5 6
17 6000 262144 65536 3 4 5 6
18 6000 262144 65536 3 4 5 6
19 6000 262144 65536 3 4 5 6
20 6000 262144 65536 4 5 6
21 6000 262144 65536 4 5 6
22 6000 262144 65536 4 5 6
23 6000 262144 65536 4 5 6
24 6000 262144 65536 4 5 6
25 6000 262144 65536 5 6
26 6000 262144 65536 5 6
27 6000 262144 65536 5 6
28 6000 262144 65536 5 6
29 6000 262144 65536 5 6
30 6000 262144 65536 5 6
31 6000 262144 65536 5 6
32 6000 262144 65536 5 6
33 6000 262144 65536 5 6
34 6000 262144 65536 5 6
35 6000 262144 65536 6
36 6000 262144 65536 6
37 6000 262144 65536 6
38 6000 262144 65536 6
39 6000 262144 65536 6
40 6000 262144 65536 6
41 6000 262144 65536 6
42 6000 262144 65536 6
43 6000 262144 65536 6
44 6000 262144 65536 6
45 6000 262144 65536 6
46 6000 262144 65536 6
47 6000 262144 65536 6
48 6000 262144 65536 6
49 6000 262144 65536 6