QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 512 MB Total points: 100 Hackable ✓

#23637. 潮汐

Statistics

小羊住喺峽灣邊嘅小漁村入面,佢記錄咗連續 $n$ 日內海平面嘅高度,第 $i$ 日($1\leq i\leq n$)嘅海平面高度係正整數 $h_i$。

對於選定嘅一個由第 $l$ 日到第 $r$ 日嘅時段(包含 $l$ 同 $r$),設:

  • $M$ 係呢個時段入面海平面高度嘅最大值;
  • $A$ 係 $[l,r]$ 入面海平面高度第一次去到 $M$ 嗰一日嘅編號;
  • $B$ 係 $[l,r]$ 入面海平面高度最後一次去到 $M$ 嗰一日嘅編號。

咁呢個時段嘅潮汐值就定義為 $M\cdot(B-A)$。請注意,如果海平面高度最大值只係出現咗一次,咁 $A=B$,呢個時候嘅潮汐值就係 $0$。

小羊會即時(在線)提出 $q$ 個問題。每個問題會畀出 $l$ 同 $r$,請你喺 $[l,r]$ 入面揀一個子時段 $[x,y]$(即係 $l\leq x\leq y\leq r$),令到呢個時段嘅潮汐值最大。

輸入格式

第一行包含兩個整數 $n$ 同 $q$ ($1\leq n\leq 5\times 10^5$, $1\leq q\leq 3\times10^6$),分別代表觀測嘅總日數同詢問次數。

第二行包含 $n$ 個正整數 $h_1, h_2, \dots, h_n$ ($1\leq h_i\leq 10^9$),依次代表每一日嘅海平面高度。

第三行包含兩個整數 $l_1$ 同 $r_1$ ($1\leq l_1\leq r_1\leq n$) ,代表第一個詢問嘅區間。

對於第 $i$ 個詢問 ($2\leq i\leq q$),假設 $lastans$ 係上一個詢問嘅答案,設: $$ a_i = \left(l_{i-1} + lastans\cdot37\right) \bmod n + 1,\quad b_i = \left(l_{i-1} + r_{i-1} + lastans\cdot53\right) \bmod n + 1 $$

咁第 $i$ 個詢問實際上係 $l_i=\min(a_i,b_i)$,$r_i=\max(a_i,b_i)$。

輸出格式

設 $ans_i$ 代表第 $i$ 個詢問嘅答案,請輸出一個整數:$(ans_1+1) \oplus (ans_2+2) \oplus \cdots \oplus (ans_q+q)$

請注意,$\oplus$ 代表按位異或(XOR)運算。

範例

輸入格式 1

8 5
5 8 2 8 4 9 3 9
2 7

輸出格式 1

1

說明

第一個詢問嘅區間係 $[2,7]$,最優時段係 $[2,4]$,其中海平面高度最大值係 $8$。喺時段 $[2,4]$ 入面,高度 $8$ 第一次出現喺第 $2$ 日,最後一次出現喺第 $4$ 日,所以呢個時段嘅潮汐值係 $8\times(4-2)=16$。

後面生成嘅各個詢問同埋佢哋嘅答案依次係: $ [2,3]\to 0,\quad [3,6]\to 0,\quad [2,4]\to 16,\quad [3,7]\to 0. $

因此要求嘅異或和係 $(16+1)\oplus (0+2)\oplus (0+3)\oplus (16+4)\oplus (0+5)=1$。

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.