题意 长度为\(n(1 \le n \le 1000000)\)的账单,\(+\)表示存1,\(-\)表示取1,任意时刻存款不会为负.初始有\(p\),最终有\(q\).每一次可以耗时\(x\)将某位取反,耗时\(y\)将最后一个移到最前面,求最小耗时使得账单正确. 分析 首先很显然最终\(+\)和\(-\)的数目是可以确定的. 所以我们把账单按照每一个开头扫一遍就行了. 题解 将账单拓展成\(2n\),然后从\(2\)扫到\(n+1\),求以这个开头的最小费用. 对于\(i\)开头的,我们只需…