以根为原点,所有叶子为汇点建立网络. 对于一条边$(x,y,A,B)$,$x$向$y$连边,容量$A$,费用0,再连边,容量$B-A$,费用1. 然后不断增广,直到费用达到$M$为止的最大流即为答案. 考虑用树链剖分+线段树来模拟这个过程: 首先加入所有费用为0的边,每次求出到根距离最小的可增广的叶子,然后求出路径上容量的最小值,将所有边的容量减掉它. 如果减的过程中有边容量变为0,那么将它加入临时数组$q$中. 然后扫描$q$中所有边,如果一条边之前费用为0,那么把它容量设置为$B-A$,然后…