最大权闭合子图:这个建图套路的模板题是植物大战僵尸。我做了但是忘了。
最大权闭合子图的定义:有个图,每个点有点权,表示选择了这个点获得的收益(可能为负)。
如果选了一个点,则必须选它的后继,求最大收益。
在理想状态下所有正权点都被选择,价值记w
先用拓扑排序消环。如果原图上有一条边,则在新图上连一条流量为inf的边。如果一个点的权值为正,则s向它连权值,否则它向t连负权值。然后用w-最小割就是答案。
被删除的只会是源点->某点或者某点->汇点的边。一个正权点被分到t集合就是未被选,负权点被分到s集合就是被选,都要付出代价。
如果有一条路径s->t,则说明有未被选的点->被选的点的路径,不符合要求。
这道题由于要选一个区间,所以选择了(i,j)就要选(i+1,j),(i,j-1)。
所以建n^2个点,(i,j)向(i+1,j),(i,j-1)连inf,(i,j)的权值为a[i][j]
买寿司的费用为mx^2+cx。
对于后面的项对于每一种寿司拆一个点权值为-c,把(i,i)向对应点连边。
对于每一个代号建一个点权值为mx^2,把上次拆的点向现在的点连边。
再使用最大权闭合子图连边即可。