博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【NOIP模拟】T1 发电机(递推逆元+期望)
阅读量:4335 次
发布时间:2019-06-07

本文共 651 字,大约阅读时间需要 2 分钟。

期望是有线性性质的

考虑每个点的概率

由于一个点的子树放了后 它就不能再放了

换句话说 这个点是子树中第一个通电的

也就是说这个点的通电概率是\(\frac{1}{size[i]}\)

题目中又说了每个点的编号大于儿子们 于是就不用dfs了 只需递推即可 把所有点的概率相加

那还要求出逆元 这里提供一种逆元的线性递推方式

1452620-20181017162241612-1910055289.png

#include
#define mod 998244353 #define N 10000005#define ll long longusing namespace std;ll n,fa[N],inv[N],size[N],ans;int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin>>n; for(int i=2;i<=n;i++) cin>>fa[i]; inv[1]=1; for(ll i=2;i<=n;i++) inv[i]=mod-mod/i*inv[mod%i]%mod; //递推逆元 for(int i=n;i>=1;i--) size[fa[i]]+=(++size[i]), ans+=inv[size[i]]; cout<

转载于:https://www.cnblogs.com/Patrickpwq/articles/9804849.html

你可能感兴趣的文章
noip2009 靶形数独
查看>>
go片段代码
查看>>
Search Insert Position @leetcode
查看>>
PTA 1007 Maximum Subsequence Sum (25 分)
查看>>
软件测试第二次作业
查看>>
转义字符--介绍
查看>>
System.arraycopy(src, srcPos, dest, destPos, length) 与 Arrays.copyOf(original, newLength)区别
查看>>
通过maven创建自己的archetype
查看>>
PAT天梯赛练习题——L3-005. 垃圾箱分布(暴力SPFA)
查看>>
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password
查看>>
关于Unity中场景的导入与导出(专题九)
查看>>
吴裕雄--天生自然 人工智能机器学习实战代码:线性判断分析LINEARDISCRIMINANTANALYSIS...
查看>>
红黑树
查看>>
SGU 456 Annuity Payment Scheme
查看>>
codeforces 567 F. Mausoleum (dp)
查看>>
深入浅出KMP
查看>>
34. Swap Nodes in Pairs
查看>>
【BZOJ 3729】3729: Gty的游戏 (Splay维护dfs序+博弈)
查看>>
2-4. BCD解密(10)
查看>>
iOS 自动布局
查看>>