2025.2.15 test
这把爆零了。主要是因为 T1 妈的充要条件是错的,然后 T2 这个“切糕”唐氏玩意忘记了,T3 没时间写了。
A
有两个长度为 \(n,m\) 的 \(1,-1\) 序列,有些位置未知,你要求方案数,使得从 \((0,0)\) 开始无论如何都能走到 \((n,m)\),且中途的和 \(\ge 0\)。有一个条件,若当前和为 \(0\),那么不会走 \(-1\),否则就是随便挑一个走。
\(n,m\le 5000\)。
考虑充要条件。这个东西我一直是错的。考虑如果非法会卡在什么状态,无非是当前为 \(0\) 且下一个都是 \(-1\).
考虑令序列最后一位是 \(-1\),然后答案合法当且仅当不存在两个前缀之和 \(<-1\),
且两个前缀不能同时为整个序列,且前缀的最后一位必须是 \(-1\)。
然后很显然有一个 \(O(n^3)\) dp,但是这玩意可以倒过来做就是 \(O(n^2)\) 的了。
这是因为记前缀最小值和当前后缀和为状态,如果把当前和钦定为 \(0\),就相当于合并了很多状态。
而从后往前加入呢就刚好契合上面这个思想。

浙公网安备 33010602011771号