2021 集訓隊作業 123

2022-04-07 21:54:28 字數 1775 閱讀 2149

初始每個人有一顆寶石。

然後執行 \(d\) 天:

求 \(d\) 天後,擁有寶石數前 \(r\) 多的人擁有寶石的數量和的期望。

\(n,d,r\le 500\),答案精確到 \(10^\)

由於只需要計算期望和,那麼可以計算排名為 \(i\) 的人擁有的寶石的期望,然後求和。

這樣我們需要計算的即為:

\[e(\max(s)_k)

\]根據 \(\min-\max\) 容斥,我們有:

\[e(\max(s)_k)=\sum_ \binom(-1)^e(\min(t))

\]然後由於元素均為相同的,不可區分的,只需要考慮大小為 \(i\) 的集合的最小值的期望。設其為 \(f_i\)

這樣答案可以寫為:

\[\sum_^n \binom\binom(-1)^f_i

\]\[\sum_^n \frac\binom\binom(-1)^f_i

\]\[\binom\sum_^ \frac\binom(-1)^f_

\]現在考慮我們確定了每個人的被操作次數 \(c_\),那麼得到這件事發生的概率:

\[\frac\times \frac}}

\]即:

\[\frac}}

\]於是每種分配 \(c_i\) 的方案發生的概率都是相同的!

現在考慮計算 \(i\) 個元素情況下的最小值,實際上可以直接使用 dp 來計算此期望,設 \(f_\) 表示當前 \(c\) 的和為 \(j\),最小值為 \(k\),有 \(i\) 個數的方案數,轉移的時候限制 \(k\le j/i\) 即可,狀態數是 \(nd\log n\) ,轉移複雜度為 \(\mathcal o(n^2d\log n)\)。

此時外部元素分配 \(c\) 的方案對我們沒有影響,這個部分暴力計算即可(他們對於答案的貢獻為 \((\frac)^[x^d]\)(也可以使用 dp 來計算)。最後乘以 \(p=\frac}}\)

得到 \(f_i\) 後,計算答案是 easy 的。只是組合數有點過於龐大,希望 long double 可以撐住。

然後被卡精度了。。。。

卡精度了...卡精度了...

我現在最討厭出題人搞計數題不取模了,妹妹極了。

嘗試給出乙個其他的做法...

仍然基於之前的做法,每種分配 \(c\) 的方案發生的概率是相同的。

於是問題可以等價於求給 \(n\) 個變數確定一組 \(c_i\) 使得和為 \(k\),求排名前 \(r\) 的元素和的期望。

然後可以考慮通過這種方式來規定前 \(r\) 大的元素具體為誰:

設 \(f(n,d)\) 和 \(g(n,d)\) 表示給 \(n\) 個人分配寶石的方案數。

那麼對於 \(f(n,d)\) 有:

\[f(n,d)=\sum_k \binomf(k,d-k)

\]即先給 \(k\) 個分乙個,然後再遞迴分。

對於 \(g(n,d)\) 就有:

\[g(n,d)=\sum_\binom(g(k,d-k)+\min(r,k)\cdot f(k,d-k))

\]後半項表示考慮當前這一位被取走的元素的貢獻,顯然這樣是對的(因為前 \(r\) 大的只能在這遞迴的元素中取到)。

然後這樣沒有考慮初始的寶石,所以答案要加 \(r\),複雜度 \(\mathcal o(n^3)\)(預設 \(n,d\) 同級別)

不是很懂為啥這樣就沒有精度問題...精度問題是亂算麼。。。

IOI2021集訓隊作業

150題中完成135題 對於我這種又菜又要學文化課的選手怎麼可能辦得到啊 不過能做一點是一點吧 畢竟有那麼好的機會不能浪費啊 upd 由於偷懶只在更新了。本次泛做試題來自於 21 場 icpc 競賽,所有競賽均在 codeforces 的 gym 中可以找到 下面列表 中結尾的數字代表其在 gym ...

IOI2021集訓隊作業125AA Baggage

有一排的格仔,編號為 2n 1 到 2n 一開始在 1 到 2n 處交替放著 ba 進行操作,每次選擇相鄰兩個不為空的位置,將位置上的東西移到相鄰兩個為空的位置上。求最少操作次數使得最終形成 aa dots ab dots bb 連續 n le 100 首先猜想上界為 n 手玩了一下 3,4,5 感...

2011集訓隊出題 拆遷隊

lanxisi帶領著他的拆遷隊來整治乙個街道。這個街道由n個舊房子組成,從左到右編號為1.n。每個舊房子i有乙個正整數的美觀度ai。lanxisi希望整個街道從左到右美觀度嚴格遞增,也就是保證ai i。但是舊的街道明顯不符合這個要求,於是lanxisi希望拆遷一些舊房子並在原地建立新房子來滿足這一要...