Record - Nov. 21st, 2020 - Exam. REC & SOL

cirnovsky /

∆ Craft

Prob. 1

Desc. & Link.

有想法。

printf( "nan" );

Prob.2

Desc. & Link.

没读懂

Prob. 3

Desc. & Link.

定义 fi,j,0/1f_{i,j,0/1} 表示个寂寞。

fi,i,0/1=ai×If_{i,i,0/1}=|a_{i}|\times I fi,j,0=min{fi+1,j,0+(ai+1ai)×(Ij+i),fi+1,j,1+(ajai)×(Ij+i)}fi,j,1=min{fi,j1,1+(ajaj1)×(Ij+i),fi,j1,0+(ajai)×(Ij+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)\} ANS=max{i×mmin{fl,r,0/1}}\mathrm{ANS}=\max\{i\times m-\min\{f_{l,r,0/1}\}\}

Over.

Prob. 4

Desc. & Link.

转化一下,把 C,T\texttt{C,T} 换成左括号和右括号。

把左括号赋值为 11,右括号 1-1

把这个 1/11/-1 序列设为 AA

那么所有前缀中 C\texttt{C} 的个数大于等于 T\texttt{T} 的个数即要求前缀和不能出现负数。

询问即求:定义 Pi=j=1iAj,Si=j=inAjP_{i}=\sum_{j=1}^{i}A_{j},S_{i}=\sum_{j=i}^{n}A_{j},对于每次询问回答:

{0,min{min{Pl,l+1,,r},min{Sl,l+1,,r}}0min{min{Pl,l+1,,r},min{Sl,l+1,,r}},otherwise\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}​

这个东西 has been hacked by the Big Sample.\texttt{has been hacked by the Big Sample.}

一个可能的死亡原因:前缀后缀都要判断可能会引起一些错误。

处理方法:那么先处理前缀,后缀减一下再处理。

(这不是问题)

另一个可能的死亡原因:min{min{Pl,l+1,,r},min{Sl,l+1,,r}}\min\{\min\{P_{l,l+1,\cdots,r}\},\min\{S_{l,l+1,\cdots,r}\}\} 可能取到多处。

处理方法:。

(这也不是问题)

Algo. 0

W·violence·gy

Algo. 1

莫队,时间复杂度 Θ(nnlog2n)\Theta(n\sqrt{n}\log_{2}n)

Algo. 2

晓求不得。

∆ Solution

Prob. 4

转化一下成最大子段和,化式子过程懒得写了。