Codeforces 839C Journey
2017-08-13 13:31
127 查看
题目链接:
http://codeforces.com/contest/839/problem/C题解:
昨晚脑子一抽,算了半天的平均期望。。。代码:
#include <cstdio> #include <cstring> #include <vector> #include <queue> #include <algorithm> using namespace std; #define met(a,b) memset(a,b,sizeof(a)) const int maxn = 1e5+10; vector<int> p[maxn]; vector<int> l; int visited[maxn]; int dis[maxn]; double EX[maxn]; double ans; queue<int> q; void bfs() { while(!q.empty()) q.pop(); dis[1]=0; EX[1]=1; visited[1]=1; q.push(1); while(!q.empty()) { int x=q.front(); visited[x]=1; q.pop(); l.clear(); for(int i=0;i<p[x].size();i++) { int y=p[x][i]; if(!visited[y]) l.push_back(y); } if(l.size()==0) ans+=EX[x]*dis[x]; else { for(int i=0;i<l.size();i++) { EX[l[i]]=EX[x]/l.size(); dis[l[i]]=dis[x]+1; q.push(l[i]); } } } } int main() { int n; scanf("%d",&n); for(int i=0;i<n-1;i++) { int x,y; scanf("%d%d",&x,&y); p[x].push_back(y); p[y].push_back(x); } ans=0; met(visited,0); met(dis,0); met(EX,0); bfs(); printf("%f\n",ans); }
相关文章推荐
- Codeforces 839C Journey【DFS】
- CodeForces-839C Journey(DFS+概率)
- Codeforces 839C Journey(dfs+概率)
- CodeForces - 839C Journey 期望 dfs
- Codeforces 839C Journey - 树形动态规划 - 数学期望
- Codeforces 839C Journey (树形dp + 概率期望)
- CodeForces 699A Launch of Collider
- codeforces 754D. Fedor and coupons
- CodeForces - 814B
- *codeforces 3A. Shortest path of the king模拟
- codeforces 300A Array
- 【codeforces】305C GCD,容斥
- Codeforces 444C DZY Loves Colors
- Codeforces 754A - Lesha and array splitting
- Codeforces-837D Round Subset(dp)
- CodeForces - 782C Andryusha and Colored Balloons
- codeforces 6C - Alice, Bob and Chocolate
- Bits - CodeForces 485C
- Codeforces 689D Friends and Subsequences
- CodeForces 567C Geometric Progression【思维+map】