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。

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

posted @ 2019-09-11 17:02  sky20030724  阅读(100)  评论(0编辑  收藏  举报