日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

CF1392G

發布時間:2023/12/13 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 CF1392G 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CF1392G

給定一個長度為 (k) 的 01 串 (s,t),給定 (n) 個操作,第 (i) 個操作為交換 (s) 中的 (u_i) 和 (v_i)

然后你選擇一個區間的操作依次執行,這個區間的長度不能小于 (m)。

最大化 (s) 和 (t) 相同的位置數量。

(m,nle 10^6,kle 20)

Solution

神仙題。

設 (w(s,t)) 表示 (s) 和 (t) 得到的答案。

(p(l,r)) 表示順序操作 (l o r)

(p(r,l)) 表示順序操作 (r o l)

性質 1

若 (sxrightarrow{p(l,r)}s',txrightarrow{p(l,r)}t',w(s,t)=w(s',t'))

注意到每一位是獨立被操作了相同的,不會改變。

所以設 (sxrightarrow{p(l,r)}s'),那么若 (s'xrightarrow{p(r+1,n)}s'',txrightarrow{p(r+1,n)}t''),則 (w(s',t)=w(s'',t''))

同理,答案也等價于 (s'xrightarrow{p(l-1,1)}s'',txrightarrow{p(r,1)}t'') 情況下的答案。

所以我們得到了 (n) 個字符串 (s') 和 (n) 個字符串 (t'),我們發現問題等價于選兩個下標差大于等于 (m) 的字符串并得到答案。

還是不好做。

然后觀察到,所有 (s/t) 的二進制下 (1) 的個數固定,設 ( extrm{bit}(s)) 為 (a),( extrm{bit}(t)=b),( extrm{bit}(s~mathbf{and}~t)=c),那么有答案為 (k-(a-c)-(b-c)=k-a-b+2c),所以問題等價于最大化 (c)

然后維護 (f_{0,x}) 表示所有 (s_i=x) 中最小的 (i),維護 (f_{1,x}) 表示所有 (t_i=x) 中最大的 (i)

然后將他們進行子集轉移,對于某個 (x),如果 (f_{1,x}-f_{0,x}ge m),那么就可以更新答案,即存在兩個字符串滿足其并大于等于 ( extrm{bit}(x))。

復雜度為 (mathcal O(nk+2^kk))

總結

以上是生活随笔為你收集整理的CF1392G的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。