题意:给定n,p;表示n个点中任意两点连边的概率为p,求生成的图是个连通块的概率。n<=20
解法:反向思考,ans[i]为i个节点为连通块的概率,求ans[n]时候,求不为一个连通块的概率,然后用1减。求非连通时,枚举与1号节点为一个连通块的点的个数即可。
公式:ans[i]=1.0- sigma C[i-1][j-1]*ans[j]*pow(1.0-p,j*(i-j)) --- j from 1 to i-1;
代码:
/****************************************************** * @author:xiefubao *******************************************************/ #pragma comment(linker, "/STACK:102400000,102400000") #include#include #include #include #include #include #include #include #include