1. 程式人生 > 實用技巧 >「雜項」Nov. 21st, 2020 - Exam. REC & SOL

「雜項」Nov. 21st, 2020 - Exam. REC & SOL

Craft

Prob. 1

Desc. & Link.

有想法。

printf( "nan" );

Prob.2

Desc. & Link.

沒讀懂

Prob. 3

Desc. & Link.

定義 \(f_{i,j,0/1}\) 表示個寂寞。

\[f_{i,i,0/1}=|a_{i}|\times I \]

\[f_{i,j,0}=\min\{f_{i+1,j,0}+(a_{i+1}-a_{i})\times(I-j+i),f_{i+1,j,1}+(a_{j}-a_{i})\times(I-j+i)\} \\f_{i,j,1}=\min\{f_{i,j-1,1}+(a_{j}-a_{j-1})\times(I-j+i),f_{i,j-1,0}+(a_{j}-a_{i})\times(I-j+i)\} \]

\[\mathrm{ANS}=\max\{i\times m-\min\{f_{l,r,0/1}\}\} \]

Over.

Prob. 4

Desc. & Link.

轉化一下,把 \(\texttt{C,T}\) 換成左括號和右括號。

把左括號賦值為 \(1\),右括號 \(-1\)

把這個 \(1/-1\) 序列設為 \(A\)

那麼所有字首中 \(\texttt{C}\) 的個數大於等於 \(\texttt{T}\) 的個數即要求字首和不能出現負數。

詢問即求:定義 \(P_{i}=\sum_{j=1}^{i}A_{j},S_{i}=\sum_{j=i}^{n}A_{j}\),對於每次詢問回答:

\[\begin{cases}0,\min\{\min\{P_{l,l+1,\cdots,r}\},\min\{S_{l,l+1,\cdots,r}\}\}\ge0 \\ |\min\{\min\{P_{l,l+1,\cdots,r}\},\min\{S_{l,l+1,\cdots,r}\}\}|,\texttt{otherwise}\end{cases}​ \]

這個東西 \(\texttt{has been hacked by the Big Sample.}\)

一個可能的死亡原因:字首字尾都要判斷可能會引起一些錯誤。

處理方法:那麼先處理字首,字尾減一下再處理。

(這不是問題)

另一個可能的死亡原因:\(\min\{\min\{P_{l,l+1,\cdots,r}\},\min\{S_{l,l+1,\cdots,r}\}\}\)

可能取到多處。

處理方法:。

(這也不是問題)

Algo. 0

W·violence·gy

Algo. 1

莫隊,時間複雜度 \(\Theta(n\sqrt{n}\log_{2}n)\)

Algo. 2

曉求不得。

Solution