牛客ACM赛 B [小a的旅行计划 ]
生活随笔
收集整理的這篇文章主要介紹了
牛客ACM赛 B [小a的旅行计划 ]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鏈接 B 小a的旅行計劃
- 把\(n\)個數中選任意數分成\(a,b\)兩個集合,集合無區別,要求不包含且有交,求方案數。\(n\leq 10^{13}\)
- 首先討論\(a,b\)并集是否為全集:
- 若是全集,那答案即為\(S(n,3)*3\),也就是\(n\)個有區別的小球放在\(3\)個無區別盒子內,然后枚舉三個盒子哪一個是交集。
- 若不是,則答案為\(S(n,4)*C(4,2)*2\),也就是\(n\)個有區別的小球放在\(4\)個無區別盒子內,然后枚舉哪兩個是補集和交集,兩個可以換。
- 答案就是兩個加起來,\(S(n,4)\)這么算:
\[S(n,4)=\frac {2^{n-1}-3^{n-1}+\frac {4^{n-1}-1}{3}}{2}\] - \(S(n,3)\)為:
\[\frac {3^{n-1}+1}{2}-2^{n-1}\] - 復雜度\(O(logn)\)
轉載于:https://www.cnblogs.com/Tyher/p/9892555.html
總結
以上是生活随笔為你收集整理的牛客ACM赛 B [小a的旅行计划 ]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CF1000G Two-Paths
- 下一篇: springboot+redis实现分布