CodeForces - 1330D Dreamoon Likes Sequences(组合数学)
生活随笔
收集整理的這篇文章主要介紹了
CodeForces - 1330D Dreamoon Likes Sequences(组合数学)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接:點擊查看
題目大意:給出一個限制 d 與模數 mod ,求出可以構造出的滿足條件的數組 a 的個數,需要滿足以下條件:
題目分析:1900分的組合數學問題,直接扔給隊友去做了,賽后補題好歹算是學會了,數學渣真的沒辦法呀
通過觀察或者適當猜測,可以看出這個問題是一個基于位運算的題目,換句話說,如果在數組 a 中選擇了 2 ,接下來就沒法選擇 3,如果選擇了 4 ,接下來就沒辦法選擇 5 6 7,選擇了 8 ,接下來就沒法選擇 9 10 11 12 13 14 15 ,也就是說對于 a[ i ] 的每個數字而言,其二進制中最高位的那個 1 的位置一定是唯一的,且是遞增的
有了這個結論之后就不難實現了,對于每個二進制的 i 來說,我們可以選擇的數字有種,需要注意的是我們還需要加入一種情況,那就是第 i 個位置不選擇數字的情況,也就是對于每個 i 的方案數變成了種情況了,累乘一下就行了,最后需要減去一,這個一代表的是所有位置都不選的情況,然后注意特判一下 n 就好了
代碼:
?
?
總結
以上是生活随笔為你收集整理的CodeForces - 1330D Dreamoon Likes Sequences(组合数学)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CodeForces - 1331E J
- 下一篇: CodeForces - 1330E D