nowcoder 2020 襪子分配

2021-10-10 03:03:38 字數 919 閱讀 2378

點此看題

期望有一種暴力計算方法,就是總和/

//總情況數,總情況數是(2n

)!

(2n)!

(2n)

!的,考慮總和即可。

考慮每一對襪子的貢獻,可以發現無論是第幾次選取情況數是2(2

n−2)

!2(2n-2)!

2(2n−2

)!(也就是我們強制這對襪子被選取,注意要考慮先後順序),那麼一共有n

nn次,n

nn雙襪子,所以是2n2

(2n−

2)

!2n^2(2n-2)!

2n2(2n

−2)!

的,除了之後答案就是n/(

2n−1

)n/(2n-1)

n/(2n−

1)考試時候寫的dpdp

dp,時間複雜度o(n

)o(n)

o(n)

#include

const

int m =

100005

;#define db double

intread()

int n;db dp[m]

,g[m]

;int

main()

printf

("%.10lf\n"

,dp[n]);

}/*dp[i]為i對襪子的期望,如果襪子被拆散,我們強制不同顏色的襪子配對,再減去貢獻

dp[i]=dp[i-1]-g[i-1]*(2i-2/2i-1)+1/2i-1

g[i]為i對襪子時,一對襪子被取走的期望

g[i]=g[i-1]*(2i-2/2i)*(2i-3/2i-1)+(1/2i)*(1/2i-1)

哈哈哈哈,這麼複雜好像是對的

*/

nowcoder 2020 牛牛的湊數遊戲

點此看題 設現在能表示的區間是 1,r 1,r 1,r 如果新加入了乙個數b bb,那麼新產生的區間是 b,r b b,r b b,r b 如果r 1 br 1r 1 b就可以直接不算了,因為後面的數不會下降,而空出來的r 1 r 1r 1是永遠無法填補的,否則我們把r rr擴大b bb。現在想必你...

nowcoder 2020 牛半仙的妹子數

點此看題 考試時候先打了個表,首先我們可以確定a b ca b c a b c是乙個定值,一開始我想去維護a aa和b bb然後去算c cc,但是這樣會很難算,a aa和b bb的變化是極不規律的,我們不妨去研究ccc 在重複一遍,p a b c p a b c p a b c是定值,打表如下 資料...

1072 開學寄語 20 (20 分)

當你看不到圖的時候千萬別要懷疑 因為 我也看不到圖 本題要求你寫個程式幫助這所學校的老師檢查所有學生的物品,以助其成大器。輸入格式 輸入第一行給出兩個正整數n 1000 和m 6 分別是學生人數和需要被查繳的物品種類數。第二行給出m個需要被查繳的物品編號,其中編號為4位數字。隨後n行,每行給出一位學...