51nod 1632 B君的连通
生活随笔
收集整理的這篇文章主要介紹了
51nod 1632 B君的连通
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目:
這題看起來難,其實(shí)這么多概率啥的都是唬人的。甚至連快速冪都不用就可以解。
解法: n個節(jié)點(diǎn),n-1條邊,期望會有一半的邊被炸毀(因?yàn)榭傮w概率就是50%)。
即(n-1)/2條邊被炸毀,這時有(n+1)/2個連通塊。(這個不是向下取整的)。
所以f[n] = (n+1)/2*2^(n-1) = (n+1)*2^(n-2)。
代碼:
#include <iostream> #include <algorithm> #include <stdio.h> #include <vector> #include <map> #include <set> #include <list> #include <queue> using namespace std; typedef long long ll; #define INF 2147483647 #define mod 1000000007int n,x,y; int main(){cin >> n;for(int i = 0;i < n-1; i++){cin >> x >> y;}int ans = n+1;for(int i = 0;i < n-2; i++){ans = (ans*2)%mod;}cout << ans << endl;return 0; }總結(jié)
以上是生活随笔為你收集整理的51nod 1632 B君的连通的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 51nod 1572 宝岛地图 (预处理
- 下一篇: 51nod 1021 石子归并 (动态规