給你一段$\color{black}{\space N \space}$個正整數的序列$\color{black}{\space a_1\thicksim a_N \space}$,請你執行$\color{black}{\space Q \space}$筆操作。
第一行有兩個正整數$\color{black}{\space N,Q \space}$。
第二行有$\color{black}{\space N \space}$個非負整數$\color{black}{\space a_i \space}$。
接下來有$\color{black}{\space Q \space}$行,每行代表一個操作。
如果是$\color{black}{\space 0 \space l \space r \space}$,代表詢問$\color{black}{\space [l,r] \space}$區間的每個數字做$\color{black}{\space xor \space}$運算之後的值。
如果是$\color{black}{\space 1 \space x \space v \space}$,代表將$\color{black}{\space a_x \space}$置換成$\color{black}{\space v \space}$。
※ $\color{black}{\space xor \space}$即代表C++中的位元運算「^」。
對於每個詢問,輸出詢問區間的每個數字做$\color{black}{\space xor \space}$運算之後的值。
5 3 16 9 1 5 3 0 1 5 1 1 5 0 1 5
30 11
本題共有四組測試題組,條件限制如下所示。每一組可有一或多筆測試資料,該組所有測試資料皆需答對才會獲得該組分數。
cout << (16^9^1^5^3) << "\n"; 輸出即為30。
觀察一下$\color{black}{\space xor \space}$的性質,不然這題拿不滿XD。輸入卡很緊,記得加優化。
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
33384 | dfd8282@gmai ... (fishhh) | c651 | 318 | 2022-12-31 12:47 |