题目大意
给定n,m,最开始一个无向图中只有两个点s,t和连接它们的一条边。你需要进行n次操作,每次选择图中一条边(u,v),加入一个点i,并且添加两条边(u,i),(i,v)。
问最终有多少种不同构的图,满足其s-t最小割为m。模10^9+7输出
n,m≤50
分析
设f[i][j]表示i次操作,s-t最小割为j的方案数。
接下来你需要枚举五个数a,b,c,d,x(其中四元组(a,b,c,d)之前没有被枚举过),意义如下:
加入了x个这样的点:设这个点为v,其中s-v的最小割为b,在s-v为基础的子图上进行了a次操作;v-t最小割为d,在v-t为基础的子图上进行了c次操作。那么得到转移:
f[i][j]∗Cxf[a][b]∗f[c][d]+x−1—>