摘要: 我们先想全是 \(\pm 1\) 的。令区间内最小子段和为 \(mn\),最大子段和为 \(mx\),注意到 \([mn,mx]\) 内的数全都能被凑出来。 证明:我们在区间 \([l,r]\) 内任意取一个子区间 \([l',r']\)。 定义【扩展】为将一个区间左边或右边添加一个数。 定义【收缩 阅读全文
posted @ 2024-12-29 21:25 Water_M 阅读(65) 评论(0) 推荐(0)
摘要: 我们不妨直接递归模拟算答案。 定义 \(f(l, r)\) 表示左右端点为 \(l,r\) 的答案。记 \(mid \gets \lfloor \frac{l+r}{2} \rfloor\),于是: \[f(l, r) = \begin{cases} f(l, mid)+f(mid+1,r) & ( 阅读全文
posted @ 2024-12-29 21:25 Water_M 阅读(63) 评论(0) 推荐(0)