l253. A - 區間最小值總和問題
標籤 :
通過比率 : 10人/16人 ( 62% ) [非即時]
評分方式:
Tolerant

最近更新 : 2023-08-07 16:22

內容

給你一個長度為 $N$ 的正整數數列 $(A_1, A_2, A_3, ... , A_N)$,定義 $\text{MIN(S)}$ 代表一個集合 $S$ 裡面最小的那個值,例如 : $\text{MIN}(1,3,4) = 1$,想請你求所有數對 $(l, r)$ 符合 $1 ≤ l ≤ r ≤ N$ 的 $\text{MIN}(A_l, A_{l+1}, ... , A_r)$ 的總和,也就是請你求以下的東西 :

$\sum_{l=1}^N \sum_{r=l}^N \text{MIN}(A_l, A_{l+1}, ... , A_r)$

因為答案有點大,請模 $998244353$。

輸入說明

輸入第一行有個正整數 $N$,代表序列的長度。

接著一行有 $N$ 個正整數,兩個數中間以空格隔開,第 $i$ 個數代表 $A_i$。

  • $ 1 ≤ N ≤ 10^6$
  • $ 1 ≤ A_i ≤ 998244352$
輸出說明

輸出 $\sum_{l=1}^N \sum_{r=l}^N \text{MIN}(A_l, A_{l+1}, ... , A_r)\ \text{mod}\ 998244353$

範例輸入 #1
3
1 3 2
範例輸出 #1
10
範例輸入 #2
10
3 1 4 1 5 9 2 6 5 3
範例輸出 #2
107
測資資訊:
記憶體限制: 512 MB
提示 :

範例輸入 # 1 

根據輸入,$A = (1, 3, 2)$。

$(l, r) = (1, 1)$ 時,$\text{MIN}(1) = 1$ 。

$(l, r) = (1, 2)$ 時,$\text{MIN}(1, 3) = 1$ 。

$(l, r) = (1, 3)$ 時,$\text{MIN}(1, 3, 2) = 1$ 。

$(l, r) = (2, 2)$ 時,$\text{MIN}(3) = 3$ 。

$(l, r) = (2, 3)$ 時,$\text{MIN}(3, 2) = 2$ 。

$(l, r) = (3, 3)$ 時,$\text{MIN}(2) = 2$ 。

所求為 $ 1 + 1 + 1 + 3 + 2 +2 = 10$。

範例輸入 # 2 

總共有 $55$ 組相異的 $(l,r)$,答案加起來為 $107$ 。

Authored by r1cky

標籤:
出處:
第一屆Chi怪壓常比賽 [管理者: becaido (Caido) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
36776 r1cky (hehe) l253
261 2023-08-08 10:10