专栏文章
题解:P11678 [USACO25JAN] Watering the Plants P
P11678题解参与者 2已保存评论 2
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @minlnqfs
- 此快照首次捕获于
- 2025/12/02 04:26 3 个月前
- 此快照最后确认于
- 2025/12/02 04:26 3 个月前
对一个位置浇水会影响到其相邻的水量,因此令 代表考虑到 ,前 个位置都浇完水且向 额外 贡献了 的水量的最小代价,再令 代表 的后缀 ,即 ,则第 个位置的答案为 。
转移为 ,即 。直接做是 的,考虑优化。
使用整体 dp 维护 ,重新写一下 的转移:对于 ,,这等价于将原来 的 值翻转,然后加上斜率为 的线段;对于 ,,这等价于将原来 区间推平,然后加上斜率为 的线段。由于维护的是 ,因此最后还需要对每个后缀 chkmin。
前面几个操作可以上平衡树,对于加斜率为 的线段,我们不妨转换一步,维护 即 的差分,这样就变成区间加了;对于区间翻转,转换为先区间和求出翻转后最靠前的位置,然后翻转 再整体取相反数即可。需要分别维护区间加、区间乘、区间推平、区间翻转。但是最后一个操作后缀 chkmin 还没有解决,这个基本上不太好从数据结构上优化,考虑一些 slope trick:事实上经过整体 dp 的转换不难证明 的下凸性,即 的差分数组具有单调性。于是 chkmin 一次后我们维护的东西一定是一个平台加上一段单调的区间,可以每次按值分裂出拐点,然后前缀推平即可。
复杂度 ,需要大力卡常。
相关推荐
评论
共 2 条评论,欢迎与作者交流。
正在加载评论...