bzoj 4675 點對遊戲

2022-03-27 01:34:05 字數 783 閱讀 2221

題目

發現乙個人如果最終拿走了\(k\)個點,那麼這個人的答案就是

\[\frac\sum_^\sum_^[dis(i,j)\in m]}}

\]考慮每乙個點對對答案的貢獻,我們列舉乙個點對,之後對於剩下的\(n-2\)個點我們隨便選出\(k-2\)對點組成我們所選擇的\(k\)個點,只需要看看這個點對的距離是否屬於\(m\)就好了

組合數劃開發現是\(\frac\),於是我們可以直接長鏈剖分求後面那個柿子就好了

**

#include#include#include#include#define re register

#define ll long long

#define max(a,b) ((a)>(b)?(a):(b))

#define min(a,b) ((a)<(b)?(a):(b))

const int maxn=50005;

inline int read()

struct ee[maxn<<1];

int len[maxn],n,m,son[maxn];

int deep[maxn],head[maxn];

int tax[maxn],*id=tax,*f[maxn];

ll ans;

int num,a[15];

inline void add(int x,int y)

void dfs1(int x)

len[x]=len[son[x]]+1;

}void dfs(int x)

BZOJ4675 點對遊戲

傳送門 考慮每一對幸運點對的貢獻,假設有 v vv 對 一共可以選擇 x xx 個點,總共 n nn 個點 那麼答案就是 v a n 2x 2x x 1 anx v x x 1 n n 1 v times frac x x 1 frac v anx an 2 x 2 x x 1 n n 1 v x ...

點對遊戲 題解

這道題相對來說比較簡單,主要考察對於期望的深刻理解。其實,我是屬於那種對數學期望一竅不通的人。我個人感覺做期望題可以從以下三個方面入手 考慮每個元素對答案的貢獻。比如說你做乙份卷子,只有25道選擇題,一道題4分,每道題蒙對的概率是 dfrac 假設你和我一樣是個啥都不會的菜雞,只能蒙題 那麼一道題對...

bzoj 2438 殺人遊戲(tarjan縮點)

根據題意只要找出有多少個不連通的集合就可以了。但是在判定的時候有環的話會有點麻煩,所以先縮點,在dfs。但是如果有乙個點它的所有連的點不止它乙個入度的話 而且這個點的入度為0,那麼最後剩它的時候就不用問了。include include include includeusing namespace ...