BZOJ4675 點對遊戲

2021-09-09 07:30:59 字數 1134 閱讀 6120

傳送門

考慮每一對幸運點對的貢獻,假設有 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(x−

1)​統計點對個數就好了

q: 一道點分治入門題目為什麼要寫長鏈剖分

a: 因為太久沒有寫過了有點忘了…

# include

using

namespace std;

typedef

long

long ll;

const

intmaxn

(1e5+5

);int first[maxn]

, cnt, n, m, lucky[20]

, tmp[maxn]

,*id,

*f[maxn]

, son[maxn]

, len[maxn]

;ll ans;

double ret;

struct edge edge[maxn]

;inline

void

add(

int u,

int v)

, first[u]

= cnt++

; edge[cnt]

=(edge)

, first[v]

= cnt++;}

void

dfs1

(int u,

int ff)

void

dfs2

(int u,

int ff)

}int

main()

bzoj 4675 點對遊戲

題目 發現乙個人如果最終拿走了 k 個點,那麼這個人的答案就是 frac sum sum dis i,j in m 考慮每乙個點對對答案的貢獻,我們列舉乙個點對,之後對於剩下的 n 2 個點我們隨便選出 k 2 對點組成我們所選擇的 k 個點,只需要看看這個點對的距離是否屬於 m 就好了 組合數劃開...

點對遊戲 題解

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

bzoj 2438 殺人遊戲(tarjan縮點)

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