翻译
  • 板块CF1682F MCMF?
  • 楼主Raisetsu41
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/8/10 16:47
  • 上次更新2023/10/27 16:05:40
查看原帖
翻译
324362
Raisetsu41楼主2022/8/10 16:47

给你两个整数序列aab(bi0)b(b_i \neq 0)bi109|b_i| \leq 10^9 。数组aa保证非降。

一个子序列a[l:r]a[l:r]的贡献定义如下。

  • 如果 sumj=lrbj0sum_{j = l}^{r} b_j\neq 0,那么代价就没有(不会出现此类询问,就是说询问中 l,rl, r 保证 sumj=lrbj=0sum_{j = l}^{r} b_j = 0 )。
  • 此外
    • 建一个有rl+1r-l+1个顶点的二分图,从llrr编号,bi<0b_i \lt 0的顶点在左边,bi>0b_i \gt 0的顶点在右边。对于每个i,ji, j,若li,jrl\le i, j\le rbi<0b_i<0bj>0b_j>0,则建一条从iijj的边,容量无限,费用为aiaj|a_i-a_j|
    • 再添加源SS和汇TT
    • 对于每个ii,若lirl\le i\le rbi<0b_i<0,则建一条从SSii的边,费用为00,容量为bi|b_i|
    • 对于每个ii,若lirl\le i\le rbi>0b_i>0,则建一条从iiTT的边,费用为00,容量为bi|b_i|
    • a[l:r]a[l:r]的贡献就是从SSTTMCMF\mathrm{MCMF}

qq次查询,每次给出两个整数llrr,求出a[l:r]a[l:r]的贡献对109+710^9 + 7取模的结果。

markdown 源码

给你两个整数序列$a$和$b(b_i \neq 0)$ 且 $|b_i| \leq 10^9$ 。数组$a$保证非降。   

一个子序列$a[l:r]$的贡献定义如下。   

- 如果 $sum_{j = l}^{r} b_j\neq 0$,那么代价就没有(不会出现此类询问,就是说询问中 $l, r$ 保证 $sum_{j = l}^{r} b_j = 0$ )。   
- 此外
  - 建一个有$r-l+1$个顶点的二分图,从$l$到$r$编号,$b_i \lt 0$的顶点在左边,$b_i \gt 0$的顶点在右边。对于每个$i, j$,若$l\le i, j\le r$,$b_i<0$且$b_j>0$,则建一条从$i$到$j$的边,容量无限,费用为$|a_i-a_j|$。
  - 再添加源$S$和汇$T$。
  - 对于每个$i$,若$l\le i\le r$且$b_i<0$,则建一条从$S$到$i$的边,费用为$0$,容量为$|b_i|$。
  - 对于每个$i$,若$l\le i\le r$且$b_i>0$,则建一条从$i$到$T$的边,费用为$0$,容量为$|b_i|$。
  - $a[l:r]$的贡献就是从$S$到$T$的 $\mathrm{MCMF}$。

$q$次查询,每次给出两个整数$l$和$r$,求出$a[l:r]$的贡献对$10^9 + 7$取模的结果。
2022/8/10 16:47
加载中...