QOJ.ac

QOJ

Time Limit: 15 s Memory Limit: 512 MB Total points: 100

#984. 幸福

Statistics

你在當地的遊樂園,注意到了一個旋轉咖啡杯遊樂設施。觀察了一陣子後,你發現了關於這個設施的一些有趣現象。

該設施由 $N$ 個圓形咖啡杯組成,它們均勻分佈在轉盤的圓周上:對於 $i = 0, 1, \dots, N - 1$,第 $i$ 個咖啡杯的中心初始位置位於從北方順時針旋轉 $i \cdot \frac{360}{N}$ 度的點上。

轉盤足夠大,可以容納所有咖啡杯而不會互相碰撞。在每個咖啡杯中,有 $N$ 個人均勻分佈在咖啡杯的圓周上:對於 $j = 0, 1, \dots, N - 1$,第 $j$ 個人初始位置位於從北方順時針旋轉 $j \cdot \frac{360}{N}$ 度的點上。由於咖啡杯足夠大,我們將人視為點。在每個咖啡杯中,對於 $j = 0, 1, \dots, N - 1$,第 $j$ 個人的幸福值為 $v_j$。

請注意,不同咖啡杯中處於相同初始位置的人具有相同的幸福值。

在 $Q$ 毫秒的過程中,每一毫秒會發生以下兩種事件之一:

  • 轉盤順時針旋轉 $k_i \cdot \frac{360}{N}$ 度。咖啡杯會進行補償,使得它們相對於轉盤外部的方位不受影響。
  • 目前位於從北方順時針旋轉 $q_i \cdot \frac{360}{N}$ 度的咖啡杯,繞其中心順時針旋轉 $k_i \cdot \frac{360}{N}$ 度。其他咖啡杯不受影響。

你想要計算初始狀態以及每次事件發生後所有人的總幸福值。總幸福值是每個人幸福值的總和。如果一個幸福值為 $w$ 的人位於由兩個咖啡杯中心所形成的直線上,則他們的幸福值等於 $w$。否則,他們的幸福值為零。由於總幸福值可能很大,請輸出其對 $998\,244\,353$ 取模後的結果。

請編寫一個程式來追蹤參與者的總幸福值!

輸入格式

第一行包含兩個整數 $N$ 和 $Q$ ($2 \le N \le 200\,000$, $1 \le Q \le 200\,000$)。

下一行包含 $N$ 個整數,即數值 $v_0, v_1, \dots, v_{N-1}$ ($1 \le v_i \le 1\,000\,000$)。

接下來的 $Q$ 行描述事件。每行的格式為 “1 $k_i$” ($1 \le k_i \le N$),表示轉盤順時針旋轉 $k_i \cdot \frac{360}{N}$ 度;或者 “2 $q_i$ $k_i$” ($0 \le q_i < N$, $1 \le k_i \le N$),表示目前位於從頂部順時針旋轉 $q_i \cdot \frac{360}{N}$ 度的咖啡杯繞其中心順時針旋轉 $k_i \cdot \frac{360}{N}$ 度。

輸出格式

輸出 $Q + 1$ 行,每一行包含 0, 1, 2, \dots, $Q$ 次事件後的總幸福值。

記得將幸福值對 $998\,244\,353$ 取模。

範例

輸入 1

6 3
1 2 4 8 16 32
2 1 4
1 5
2 4 2

輸出 1

189
168
210
252

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.