首先,先来谈一道题:
http://codeforces.com/problemset/problem/280/C
题目的意思就是给定一棵以1为根的树,删除一个点就会连子树的点一起删除
每次只能删除一个点,删除1的时候结束
询问把删除次数的期望
答案就是
利用期望的可加性,对于每一个点,删除的次数就是深度的倒数
原因很简单,因为删除每个祖先的概率是相等的
于是又可以推广到有向无环图的情况
这又是一道题:
http://acm.hdu.edu.cn/showproblem.php?pid=5036
这道题的答案是
tot[i]表示从这个点出发能到达的后继的个数
原因和前面是相同的
为什么会想到这道题
因为今天傻逼了
卡在了奇怪的地方
for(j=1;j<=n; j++){
for(i=1; i<=n; i++){
if(next[i][j]){
next[i]|=next[j];
}
}
}
就是简单的floyd,想歪了