杂题
题意
\(n(even)\)张卡牌,带权\(s_i(s_i\ge 0)\)。
初始时奇数位置属于\(A\),偶数位置属于\(B\),\(n-1\)轮操作,\(i=1\sim n-1\),若\(i\)为奇数则A操作,否则\(B\)操作,可以反转\(i~or~i+1\)的所属权,或不操作。
两人博弈,求最后\(A\)的最大值。
有\(m\)次单点修改\(s\)
做法
由于操作时所处位置恰好是原所属位置,所以不存在不操作
倒着做
令\(f_{i,0/1}\)为现在在\(i\),已经过了\(i-1\)轮后该位置是否被反转,先手-后手的最大值(令先手为当前的人)
\[\begin{aligned}
f_{i,0}=s_i-f_{i+1,1}\\
f_{i,1}=max(-s_i-f_{i+1,1},s_i-f_{i+1,0})\\
\end{aligned}\]
令\(delta_i=f_{i,0}-f_{i,1}\)
\[\begin{aligned}
f_{i,0}=s_i-f_{i+1,0}+delta_{i+1}\\
f_{i,1}=max(-s_i-f_{i+1,0}+delta_{i+1},s_i-f_{i+1,0})\\
delta_i=s_i+delta_{i+1}-max(-s_i+delta_{i+1},s_i)\\
delta_i=min(2s_i,delta_{i+1})\\
\end{aligned}\]
\(f_{i,0}=\sum\limits_{i=1}^n s_i*(-1)^{i+1}+\sum\limits_{i=2}^n delta_i*(-1)^i\)