洛谷P3349:小星星(容斥dp)
生活随笔
收集整理的這篇文章主要介紹了
洛谷P3349:小星星(容斥dp)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
解析
先安利一波洛谷上我介紹如何用暴力日過去的博客
現在開始務正業
考慮把dp記錄狀態的一維s去掉
這樣單次轉移復雜度變成n3n^3n3
但是這樣顯然會算多啊!
因為一個編號可能會用很多次
考慮容斥
設ansians_iansi?表示至少浪費了i個編號的答案
那么我們的答案顯然就是
ans0?ans1+ans2...ans_0-ans_1+ans_2...ans0??ans1?+ans2?...
就是一個經典的利用容斥至少轉恰好的方法
至于ans的計算,可以暴力枚舉二進制的集合s,每次進行一次n3n^3n3轉移的計算
時間復雜度O(n3?2n)O(n^3*2^n)O(n3?2n)
暴力都日過去了就不貼代碼了
總結
以上是生活随笔為你收集整理的洛谷P3349:小星星(容斥dp)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ps7.0怎么选中多个图层 合并图层(p
- 下一篇: 洛谷P6302:回家路线(斜率优化)