P5312 [Ynoi2011] Contest Experimental Class

Background

During the high school entrance exam, it felt like nothing special. I got into cdqz casually. A few nights before the exam, I was still secretly reading xianxia novels on an itouch. After getting into cdqz, I went to OI classes every day. I did not really understand much, but I had nothing else to do anyway. At that time, I listened to Yu Shen introduce data structures, and he roughly wrote it like this: Beginner: Binary Indexed Tree, Segment Tree Intermediate: Balanced Tree, Mergeable Heap, Mo's Algorithm Advanced: Persistent Segment Tree, Dynamic Tree Frontier: Dynamic Cactus It felt like there were so many “trees” that sounded amazing, and even “cactus”? Data structures are really awesome (foreshadowing)! That year, cdqz suddenly decided to set up a contest experimental class, focusing on competitions. Since I did not like cultural courses much, I decided to join. To enter the contest class, you had to pass a selection summer camp for a subject. At that time, a friend f321dd felt it was very “toxic” and ran away. I did not quite understand then, but now I understand to some extent. This summer camp was basically inviting different competition teachers every day to give lectures. I was not interested in math or physics, so the classes were boring. With nothing to do, I often sneaked into the computer room to write some code. Thinking carefully, I had no real plan for the future back then. I cannot say I loved competitions a lot, and I cannot say I hated cultural courses a lot either. I just heard that this experimental class was good and could help you get into a good university, so I went. It felt similar to people choosing a CS major after hearing “computer science makes a lot of money”. But is that not how everyone is? In the end, I entered the contest experimental class and met everyone who would study OI together for the next two years. We also had a placement test. It seemed that zms got 350 and ranked first, and I got 310 and ranked second. I remember I used “dynamic spfa” to cheese a shortest path problem, and I shouted happily when I saw AC. The contest group at that time: zms: A middle school classmate, mentioned before. Everyone called him “Xiao Bai”. He felt like a steady person, recognized as the strongest OI contestant of our grade, and he was close with yjq. I saw him as my goal at the time. f321dd: A middle school classmate and friend. In middle school we often skipped classes to play cards together (we even made something called “Chemistry Kill”). He felt like a funny person. grh: Came from No. 4 Middle School, tall and thin, liked doujinshi and anime. ziliuziliu: Came from No. 4 Middle School, thin, liked playing World of Tanks. He grinded the KV3 line, and his AP shells could not penetrate WZ111 every day. Pretty good skill. cyz: Also liked playing World of Tanks. I think the first time I saw him play, he was playing the Wirbelwind. I thought it was fun and also started playing. He was quite strong, and I often could not understand what he was thinking. Flaze: A female OIer, seemed pretty cute. zyx: A student from another place, had not learned OI before. cx: Chubby, could write an OJ. zqq: From the same middle school as Flaze, seemed very down-to-earth (at first it was like that). He would learn every knowledge point. Seniors: yjq: Extremely strong, always finished contests early and AK. Karl_duan: Felt like he was always studying, very steady and hardworking. zcy: Very good at messing around, and often solved problems in a messy way. In NOIP he got 600 with brute force. mhy: A senior from the National Training Team, thin. When writing this memoir, I still feel quite emotional. Remembering what happened back then makes me very happy~ During that period of learning OI, although I was very weak and got crushed every day, it was undoubtedly still fun. [Remember to add pictures, content oj7] Since this is Ynoi, not a place for the author to write nostalgic text, you need to solve a data structure problem:

Description

There is an array $A$ of length $n$, indexed starting from $1$. You need to process $m$ operations of the following four types: 1. Append a number $x$ to the end of array $A$. 2. Output $\sum_{i=l}^{r}A_i$. 3. Change every number $A_i$ in array $A$ to $A_i\oplus x$. ($\oplus$ denotes the XOR operation.) 4. Sort array $A$ in non-decreasing order.

Input Format

The first line contains an integer $n$, the initial size of $A$. The next line contains $n$ non-negative integers $A_i$, representing each element in $A$. The next line contains an integer $m$, the number of operations. The next $m$ lines each describe one operation: - `1 x`: the first operation, append $x$ to the end. - `2 l r`: the second operation, query $\sum_{i=l}^{r}A_i$. It is guaranteed that $1\le l\le r\le n'$, where $n'$ is the length of the sequence at the time of the operation. - `3 x`: the third operation, XOR every element with $x$. - `4`: the fourth operation, sort array $A$.

Output Format

For each operation of the second type, output the answer.

Explanation/Hint

Idea: WJMZBMR, Solution: WJMZBMR, Code: WJMZBMR, Data: WJMZBMR $1\le n,\,m\le 10^5, 0\le x,A_i\le 10^9$ Translated by ChatGPT 5