1512: [POI2006]Pro-Professor Szu

首先把边反向, 问题转化成求从主建筑楼走向各个点的方案数。 然后缩点,块中的方案数可以直接算。

f[i]表示走到第i个点的方案数。
显然f[i]=f[j](newedge(j,i))初始时,f[belong[n + 1]]=1。
对于任意一个siz[i]>1的点,如果f[i]>0,那么显然有无数种走法,直接设为maxn+1。
然后进行拓扑图上DP。

代码自己的并没有调出来......先不上传了。

原文地址:https://www.cnblogs.com/0724-zcsblog/p/11507309.html