专栏文章

题解:CF2077E Another Folding Strip

CF2077E题解参与者 5已保存评论 4

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
4 条
当前快照
1 份
快照标识符
@mipxi6tt
此快照首次捕获于
2025/12/03 19:33
3 个月前
此快照最后确认于
2025/12/03 19:33
3 个月前
查看原文
怎么都不是这么做的???
先考虑计算 f(a1,a2,,an)f(a_1,a_2,\cdots,a_n)
考虑一次折叠相当于将编号为 p1<p2<<pkp_1<p_2<\cdots<p_k 的格子减一,然后要求 pip_ipi1p_{i-1} 奇偶性不同。
考虑构建一张二分图,其中左部点表示入度,右部点表示出度。入度 ii 能和出度 jj 匹配,当且仅当 j<ij<i,且i,ji,j 奇偶性不同。
那么最少操作次数,就等价于 i=1naimaxmatch\sum_{i=1}^{n} a_i-\text{maxmatch}
计算 maxmatch\text{maxmatch} 考虑 Hall 定理,对于权值,我们可以等效看成多个点,令 LL 表示左部点集合,N(S)N(S) 表示 SS 集合出边的并集。由于 maxmatch=LmaxSL{SN(S)}\text{maxmatch}=|L|-\max_{S\subseteq L}\{|S|-|N(S)|\},所以最少操作次数为 maxSL{SN(S)}\max_{S\subseteq L}\{|S|-|N(S)|\}
对于 N(S)N(S),我们发现我们只关心 SS 集合中的编号最大值 mx1mx_1,以及编号和 mx1mx_1 奇偶性不同的编号最大值 mx2mx_2。我们发现,mx2mx_2 前面的位置选,不会对 N(S)N(S) 造成影响,同时 (mx2,mx1](mx_2,mx_1] 之间和 mx1mx_1 奇偶性相同的位置,也不会对 N(S)N(S) 产生影响。于是,为了使得 S|S| 尽量大,我们会将这些点全选。
我们发现此时 SS{iimx2}{ii[mx2,mx1]imx1(mod2)}\{i|i\le mx_2\}\cup\{i|i\in[mx_2,mx_1]\land i\equiv mx_1\pmod 2\}N(S)N(S){iimx2}{ii(mx2,mx1]i≢mx1(mod2)}\{i|i\le mx_2\}\cup\{i|i\in(mx_2,mx_1]\land i\not\equiv mx_1\pmod 2\}
那么 N(S)S|N(S)|-|S| 就为:
maxmx1>mx2mx1≢mx2(mod2)}{i(mx2,mx1]imx1(mod2)aii(mx2,mx1]i≢mx1(mod2)ai}\max_{mx_1>mx_2\land mx_1\not\equiv mx_2\pmod 2\}}\{\sum_{i\in (mx_2,mx_1]\land i\equiv mx_1\pmod 2} a_i - \sum_{i\in (mx_2,mx_1]\land i\not\equiv mx_1\pmod 2} a_i\}
就得到了这个重要结论。
然后,我们发现,如果单纯是求最大区间偶数位置和减奇数位置和,是Treasure Hunt,所以一定有玄机。
我们考虑令 sis_i 为前 ii 个数,奇数位置减去偶数位置的差。
那么我们惊讶的发现,求的东西就可以等效成 maxi=l1r{si}mini=l1r{si}\max_{i=l-1}^{r} \{s_i\}-\min_{i=l-1}^{r} \{s_i\}
于是拆成两部分,单调栈维护了。

评论

4 条评论,欢迎与作者交流。

正在加载评论...