51nod 1632B君的連通

2021-07-26 10:40:11 字數 1094 閱讀 9586

1632 b君的連通

基準時間限制:1 秒 空間限制:131072 kb 分值: 20 

難度:3級演算法題

b國擁有n個城市,其交通系統呈樹狀結構,即任意兩個城市存在且僅存在一條交通線將其連線。a國是b國的敵國企圖秘密發射飛彈打擊b國的交通線,現假設每條交通線都有50%的概率被炸毀,b國希望知道在被炸毀之後,剩下聯通塊的個數的期望是多少?

input

乙個數n(2<=n<=100000)

接下來n-1行,每行兩個數x,y表示一條交通線。(1<=x,y<=n)

資料保證其交通系統構成一棵樹。

output

一行乙個數,表示答案乘2^(n-1)後對1,000,000,007取模後的值。
input示例

3

1 21 3

output示例

8
因為每炸毀一條邊就多出乙個連通圖,所以最優是乙個連通,最差是n個連通。選擇一條邊的概率是1/2,選擇n條邊就是1/2^(n-1),那麼最後題目要求乘以2^(n-1),所以抵消了。 

那麼公式原型就是:

1+2∗c(n−1,1)+3∗c(n−1,2)+...+n∗c(n−1,n−1)

然後經過打表發現該序列的通式為:

ans[i]=2*ans[i-1]+2^(i-2),ans[1]=1

#includeconst int m=1e9+7;

const int n = 1e5 + 5;

long long ans[n];

//快速冪

long long p(long long a,long long b,long long c)

return t;

}int main()

{ ans[1]=1;

for(int i=2;i

51nod 1632 B君的連通

題目 這題看起來難,其實這麼多概率啥的都是唬人的。甚至連快速冪都不用就可以解。解法 n個節點,n 1條邊,期望會有一半的邊被炸毀 因為總體概率就是50 即 n 1 2條邊被炸毀,這時有 n 1 2個連通塊。這個不是向下取整的 所以f n n 1 2 2 n 1 n 1 2 n 2 include i...

51nod1632 B君的連通

1632 b君的連通 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 b國擁有n個城市,其交通系統呈樹狀結構,即任意兩個城市存在且僅存在一條交通線將其連線。a國是b國的敵國企圖秘密發射飛彈打擊b國的交通線,現假設每條交通線都有50 的概率被炸毀,b國希望知道在被炸...

51nod 1632 B君的連通

1632 b君的連通 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 b國擁有n個城市,其交通系統呈樹狀結構,即任意兩個城市存在且僅存在一條交通線將其連線。a國是b國的敵國企圖秘密發射飛彈打擊b國的交通線,現假設每條交通線都有50 的概率被炸毀,b國希望知道在被炸...