Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2) F. Bits And Pieces sosdp预处理超集
生活随笔
收集整理的這篇文章主要介紹了
Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2) F. Bits And Pieces sosdp预处理超集
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
傳送門
文章目錄
- 題意:
- 思路:
題意:
n≤1e6,ai≤2e6n\le1e6,a_i\le2e6n≤1e6,ai?≤2e6
思路:
由于(aj&ak)(a_j \And a_k)(aj?&ak?)打的括號,所以應該放在一起考慮,現在我們可以枚舉aia_iai?,由于是或操作,所以我們肯定是從高位到低位貪心的選,如果當前iii右邊有兩個數他們這一位都是111,那么答案這一位一定是111。當然如果aia_iai?的這一位也是111就不需要考慮這一位了,直接跳過就好。現在問題轉換成了如何快速判斷當前這位右邊是否存在一個超集它這一位是111。
很容易想到用sosdpsosdpsosdp來預處理出所有超集,這樣處理出來的是整個數組的,但是怎么判斷當前位右邊是否有至少兩個呢?我們可以記一個超集的最右邊的兩個位置,當i≥i\gei≥當前第二大的位置的時候這一位就不能要。
實現起來就很簡單辣。
總結
以上是生活随笔為你收集整理的Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2) F. Bits And Pieces sosdp预处理超集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的娜塔莎演员表 哪些演员出演了这部剧
- 下一篇: 8个字的网名 纯文字的八个字网名