HNOI2017 拋硬幣 (FakeBeng)
阿新 • • 發佈:2018-11-27
除了隊長快跑外最難的題吧。
除了需要寫\(exLucas\)之外,還教會了我大量的卡常技巧。
首先\(70\)分就是個直接按題意模擬,易得\(ans=\sum_{j=0}^{b} C_{b}^{j}\sum_{i=j+1}^{a}C_{a}^{i}\),把後面的求和用字尾和優化一下,外加\(exLucas\)和大力卡常應該可以拿到這檔分。
考慮滿分做法,首先對於\(a=b\)的,顯然每一種勝利局面取反後一定是一種失敗局面,當然還有平局。
我們考慮用總情況減去平局除以二。
如何計算平局,顯然有\(sum=\sum_{i=0}^{a}C_{a}^{i}*C_{b}^{i}\),因為\(a=b\)
所以當\(a=b\)時,\(ans=\frac{2^{a+b}-C_{2a}^{a}}{2}\)。
現在考慮\(a>b\)的情況,顯然每個失敗狀態和平局取反後一定是必勝的,但是有些勝利狀態取反後還是勝利的。我們考慮計算這一部分。
我們假設小\(A\)拋了\(W_A\)次正面,小\(B\)拋了\(W_B\)次正面,那麼在該情況下有\(W_A>W_B\),那麼\(a-W_A>b-W_B\),得\(a-b>W_A-W_b>0\),列舉\(W_A-W_B\),有\(\sum_{i=1}^{a-b-1}\sum_{j=0}^{b}C_{b}^{j}C_{a}^{i+j}\)