Loading

AT_agc013_f [AGC013F] Two Faced Cards

感觉没那么难,但是还是没有完全会做,这大概率是出于对每一步的不确定综合起来的结果,还是这种题做少了!加训!

由于这是后缀匹配,所以 Hall 定理在这里可以弱化,一个非常好的代数意义上的转化是左部点后缀加,右部点后缀减,合法条件转化为了每个位置 \(\ge 0\),看着会觉得非常有道理,但是想到这一步其实并不简单,反思之后发现还是要将抽象条件转化为代数条件,否则用 Hall 定理的偏序条件一辈子也做不出这题。

然后呢?接下来这一步就简单无比了,调整一下,初始全部令其为正面,调整为反面相当于花费 \(1\) 的代价将一个区间 \(+ 1\),如果是单次询问,显然我们可以从左往右/从右往左贪心覆盖长度最大的,这都是正确的。

那么每次新增了一个卡片,不妨枚举到底是正面还是反面,然后原问题转化为对一个后缀 \(-1\) 然后查询答案,此时又有一个非常关键的 trick:贪心局部可拆,也就是说我们这个贪心关于值域的部分是可拆的,代表所有 \(< -1\) 的元素我们先将其贪心调整至 \(\ge -1\),然后对于一个前缀,我们再贪心其 \(\ge 0\) 的新增方案。

感觉最后一步的贪心就很魔幻,只能说明先贪至 \(-1\) 再贪至 \(0\) 是对的,这也提示我们遇到这类带修改贪心问题要想到局部可拆结论。

然后就是上述全部过程都可以用模拟费用流推导,而且由于此题建模非常特殊,所以用模拟费用流可以推得一样的结论。

贪心部分有个细节是第一遍必须从右向左取左端点最小的做,不然不能满足前缀最优。

posted @ 2026-09-20 10:25  Alexande  阅读(4)  评论(0)    收藏  举报