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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Codeforces 1314 题解

發布時間:2025/3/15 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Codeforces 1314 题解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這場整體質量感覺可以算 2020 年度(目前為止)最垃圾。

A

按數值從小到大掃描,維護一個優先隊列,每遇到一個數加入隊列,每次數值發生 \(+1\) 時彈掉隊列中價值最大元素,然后把此時隊列中所有元素的價值和類加進答案。
時間復雜度 \(O(n\log n)\).
代碼: 78541690

B

這題看起來最難以處理的就是編號問題,所以就從編號問題入手,可以發現當場上還剩下 \(2^i\) 個人時,將所有人按編號從小到大劃分為 \(2^{i-1}\) 個大小相等的組,則每組中恰有一人在 Upper Bracket,恰有一人在 Lower Bracket. 每場比賽會合并相鄰的兩個組。
于是就可以 DP 了:設 \(f[i][u][x][y]\ (x,y\in \{0,1\})\) 表示第 \(i\)\(u\) 這一組,Upper 和 Lower 的人分別是否被關注即可。
時間復雜度 \(O(2^n)\).
代碼: 79378015

C

把所有子串拎出來排序,二分答案。每次就是要求將 \(s\) 劃分為 \(m\) 個連續子串,且每個子串字典序都不小于 \([L,R]\) 的方案數。(串一模一樣的時候沒有必要再區分大小)
直接 DP 是 \(O(n^3)\) 的,但是注意到一個點能轉移到的是一段區間,于是就可以 \(O(1)\) 轉移。
時間復雜度 \(O(n^2\log n)\).
代碼: 79516172

D

無奇環等價于任何一個點都不能同時出現在奇數和偶數的位置上。設 \(1\) 號點的位置是 \(0\),可以爆搜偶數位置上的值,然后就是要對 \((i,j)\)\(\min_k(dis_{i,k}+dis_{k,j})\),其中 \(k\) 有不超過 \(\frac{m}{2}\) 個位置是被 ban 的。于是對每個 \((i,j)\) 預處理一下前 \(4\) 大就可以完成。
時間復雜度 \(O(n^{\frac{m}{2}-1}m^2)\),常數很小。
代碼: 78551177
題解還給了一種隨機做法:大概每次把所有的點以某種隨機方式染成二分圖,隨機 \(512\cdot 20\) 次,最優解在至少一次的隨機中出現在二分圖兩側的概率約為 \(1-2\times 10^{-9}\).

E

不難發現 \(|f^2(A)|\le \sqrt{2|A|}\).
考慮如何判斷一個終止狀態是否合法,只需要求出初始狀態最少有多少個元素即可,那么肯定是每次貪心地展開,設 \(f^k(A)\) 從大到小排序后為 \(b_1,...,b_l\),則 \(f^{k-1}(A)\) 中有 \(b_i\)\(i\). 把按這種方式貪心展開的函數叫做 \(g(A)\). 很容易推知 \(|g(A)|=\sum^l_{i=1} a_i,|g^2(A)|=\sum^l_{i=1}ia_i\).
那么對于 \(K=1\)\(K=2\) 的情況,可以直接 DP 解決,使用 DP 劃分數的經典方法,有一個序列初始為 \(\{1\}\),每次給最后面添加一個 \(1\) 或者給所有數都 \(+1\). 時間復雜度 \(O(n^2)\).
對于 \(K\ge 3\) 的情況,必定有 \(|f^k(A)|\le \sqrt{2n}\le 63\). 于是可以爆搜劃分數,然后貪心展開。一個很有用的剪枝是,如果任何時候展開的大小超過 \(n\) 就沒有必要繼續搜下去了,加上這個之后運行時間從 \(1918\ \text{ms}\) 變成了 \(78\ \text{ms}\)

\[\sum^{63}_{i=1}P(i)\approx 10^7,\ P(64)\approx 2\times 10^6 \]

時間復雜度 \(O(n^2+P(\sqrt {2n})\text{poly}(n))\),其中 \(\text{poly}(n)\) 部分很小。
代碼: 79614806

F

nim 積意義下的離散對數。下面默認求 nim 的復雜度是 \(O(\log^2 W)\).
考慮整個域的大小是 \(W=2^{64}-1\),首先顯然有一個 \(O(\sqrt W\log^2 W)\) 的 BSGS 做法。
顯然 \(W\) 不是質數,分解一下發現 \(W=3\times 5\times 17\times 257\times 641\times 65537\times 6700417\),每一個質因子都不大,可以考慮計算答案在模每個質因子意義下的值,最后 CRT 合并。
設當前處理的質因子是 \(P\). \(a^{\bigodot kP+r}=b\ \Leftrightarrow\ a^{\bigodot kW+\frac{W}{P}\cdot r}=b^{\bigodot \frac{W}{P}}\ \Leftrightarrow\ (a^{\bigodot \frac{W}{P}})^{\bigodot r}=b^{\bigodot \frac{W}{P}}\),所以就是要解 \((a^{\bigodot \frac{W}{P}})^{\bigodot r}=b^{\bigodot \frac{W}{P}}\). 直接 BSGS 即可。
時間復雜度 \(O(\sum \sqrt{P_i}\log^2 W)\).
代碼: 79635282

總結

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

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