简单的拓扑DP,转移方程通式 \(f[v]+=f[u],rd[v]--\)
犯错
for (int i=head[u];i;i=e[i].nxt)
{
int v=e[i].v;
f[v]+=f[u];
rd[v]--;
if (!rd[v]) q.push(v);
}
/*6,v写成i*/
for (int i=1;i<=n;i++)
if (!rd[i])
{
if (cd[i]) f[i]=1;
q.push(i);
}
/*特殊情况的处理,入队的对象*/
``
原文:https://www.cnblogs.com/lToZvTe/p/14527396.html