最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Codeforces Round #884(Div. 1 + Div. 2) 題解(目前A~E,未完待續(xù))

2023-07-12 17:10 作者:寒鴿兒  | 我要投稿

CF1844A

題意

T 組數(shù)據(jù),每組給定兩個整數(shù) a%20%2B%20b ,兩個人從一個石堆中輪流取石子,每次恰好取 a 個或者 b?個,不能完成取石子者輸。要求構(gòu)造一個后手必勝的石堆 n?,要求 n%20%5Cleq%2010%5E6?,輸出石堆的石子數(shù)。

數(shù)據(jù)范圍:1%20%5Cleq%20T%20%5Cleq%20100%2C%201%20%5Cleq%20a%20%3C%20b%20%5Cleq%20100 。

題解

我寫了一個挺煩的做法:

如果輸入為 1%2C%202?,輸出 3?。

如果輸入為 1%2Cx?,輸出 2?。

否則輸出 1?,因為先手不能取式子,后手勝。

實際上只要輸出 a%20%2B%20b?即可。

代碼


CF1844B

題意

T?組數(shù)據(jù),每組給定一個正整數(shù) n?,要求構(gòu)造一個 1%2C%202%2C%20%5Cdots%2C%20n?的排列,使得子區(qū)間 %5Ctexttt%7Bmex%7D?為素數(shù)的子區(qū)間個數(shù)最多。

?。

題解

1?不是素數(shù),所以要有貢獻,區(qū)間至少包含 1?。不妨考慮把 1?放在序列中間。

然后觀察到,如果一個區(qū)間不是素數(shù),它要么不包含 1?,要么至少同時包含 1%2C%202%2C%203?,所以把 2%2C%203?放在區(qū)間兩端,符合第二種條件的區(qū)間只有一個(全局)。(本質(zhì)是根據(jù) mex 大小分類討論)

代碼

CF1844C

題意

T?組數(shù)據(jù),每組數(shù)據(jù)給定一個長度為 n?的數(shù)組 a,規(guī)定操作為:選中一個位置 i?,移去 a_i?,若 1%20%3C%20i%20%3C%20n?,移去 a_%7Bi%20-%201%7D?和 a_%7Bi%20%2B%201%7D?,并在原位置插入 a_%7Bi%20-%201%7D%20%2B%20a_%7Bi%20%2B%201%7D?,求若干次操作之后只剩下一個數(shù)時,剩下的數(shù)最大能是多少。

數(shù)據(jù)范圍:1%20%5Cleq%20T%20%5Cleq%2010%5E4%2C%201%20%5Cleq%20n%2C%20%5Csum%20n%20%5Cleq%202%20%5Ctimes%2010%5E5%2C%20-10%5E9%20%5Cleq%20a_i%20%5Cleq%2010%5E9?。

題解

性質(zhì)1:選中任意奇數(shù)長度的子區(qū)間,可以在不影響其它位置的情況下全部刪除。

性質(zhì)2:直接刪除端點若干次,可以不影響其它位置的情況下刪掉一個前綴,后綴同理。

性質(zhì)3:間隔一個奇數(shù)長度的子區(qū)間的兩個數(shù)可以合成一個數(shù)。

性質(zhì)4:考慮在刪掉一個前綴和一個后綴之后,從左起選擇若干個數(shù),選擇的相鄰兩個數(shù)之間間隔一個長度為奇數(shù)的子區(qū)間,則這個選出來的子序列可以最終合成一個數(shù)。

根據(jù)性質(zhì)4,可以使用動態(tài)規(guī)劃思想求一個子序列,滿足任意相鄰兩個數(shù)間隔一個奇數(shù)長度的子區(qū)間,求子序列和的最大值。

設(shè) f_i?為選擇了 a_i?的前綴的最大和的子序列大?。ㄩg隔滿足奇數(shù)),枚舉上一個選的數(shù),有轉(zhuǎn)移方程:

f_i%20%3D%20%5Cmax_%7Bj%20%5Cequiv%20i%20%5Cpmod%202%7D%5C%7Bf_j%20%2B%20a_i%2C%200%5C%7D

由于取的只是最值,在遞推過程中,對于奇數(shù)序列和偶數(shù)序列,可以分別只保存一個歷史最值進行遞推。

單組數(shù)據(jù)時間復(fù)雜度 %5Cmathcal%7BO%7D(n)?,空間復(fù)雜度 %5Cmathcal%7BO%7D(1)?。

代碼

CF1844D

題意

T?組數(shù)據(jù),每組給定一個正整數(shù) n?,要求構(gòu)造一個字典為全體小寫字母集合的字符串,滿足:按照順序重排到任意 a%20%5Ctimes%20b?的矩陣(ab%20%3D%20n)中后,矩陣中四相鄰的元素不相等。

數(shù)據(jù)范圍: 1%20%5Cleq%20T%20%5Cleq%2010%5E4%2C%201%20%5Cleq%20n%2C%20%5Csum%20n%20%5Cleq%2010%5E6?。

題解

考慮 n?的所有約數(shù) d?,對每個位置 x?有約束:

S_x%20%5Cneq%20S_%7B(x%20%2B%20d)%7D%2C%20x%20%2B%20d%20%5Cleq%20n

暴力求 n?的約數(shù)集合(%5Cmathcal%7BO%7D(%5Csqrt%20n)),從左往右考慮每個位置 i?,考慮所有約數(shù) d?,排除所有位置 S_%7Bi%20-%20d%7D?已經(jīng)填放的字母,任取一個剩下的字母(不妨取最小)填充當(dāng)前位置 S_i?。

由于 n?的約數(shù)個數(shù)是 %5Cmathcal%7BO%7D(%5Clog%20n)?的,這個值在 n%20%3D%2010%5E6?時期望遠小于字典大小 26?,所以這個填法是正確的。

單組復(fù)雜度 %5Cmathcal%7BO%7D(n%20%5Clog%20n)?。

代碼

CF1844E

題意

T?組數(shù)據(jù),給定一個 n%20%5Ctimes%20m?的矩陣賦值 A, B, C 三種字母,并給定 k?條限制,每條形如”對某個 2%20%5Ctimes%202?的子矩陣,主對角線元素相同“或者”對某個 2%20%5Ctimes%202?的子矩陣,副對角線元素相同“,求是否有符合條件的賦值方式。

數(shù)據(jù)范圍:1%20%5Cleq%20T%20%5Cleq%2010%5E3%2C%201%20%5Cleq%20n%2C%20m%2C%20%5Csum%20n%2C%20%5Csum%20m%20%5Cleq%202%20%5Ctimes%2010%5E3%2C%201%20%5Cleq%20k%2C%20%5Csum%20k%20%5Cleq%204%20%5Ctimes%2010%5E3?。

題解

性質(zhì):將每個 2%20%5Ctimes%202?的小矩形的情況拼成一個 n%20-%201%20%5Ctimes%20m%20-%201?的矩陣(以中心為參考),設(shè)主對角線相等為 1?,副對角線相等為 2???紤]原矩陣中任意一個相鄰的 3%20%5Ctimes%203?的子矩陣中四個 2%20%5Ctimes%202?的子矩陣的情況:其中有偶數(shù)個 1?和偶數(shù)個 2?。也就是新矩形中任意一個 2%20%5Ctimes%202?的子矩陣中有偶數(shù)個 1?和偶數(shù)個 2?,也就是要么全都相等,要么有兩個 1?和兩個 2。

推論1:在新矩形中,任意一個子矩形的四個角的值有偶數(shù)個 1?和偶數(shù)個 2?。

這個性質(zhì)和原推論等價。

證明:可以對新矩陣中的以 2%20%5Ctimes%202?的子矩形為單位進行數(shù)學(xué)歸納。

推論2:在新矩形中,任意兩行要么對應(yīng)列全相等,要么對應(yīng)列全相反。

這個性質(zhì)和原推論等價。

證明:

首先證明相鄰兩行的情況。任取一列,若它們相等:取其相鄰列,必然相等??梢酝卣沟秸小?/p>

相鄰兩行要么全相等要么全相反,這是一種等價關(guān)系,可以向整個矩陣傳遞。

根據(jù)推論2,我們知道,所有行可以分為兩類,類內(nèi)兩行對應(yīng)列全相等,兩類各區(qū)一行對應(yīng)列全相反。

給定的約束其實就是規(guī)定了新矩形中某個位置必須填 1?或者某個位置必須填 2?。那么對于同一列來說,若干個已經(jīng)填了的位置,其實約束了某兩行屬于同類或者不屬于同類。

那么可以用擴展域并查集來處理這些約束,看看結(jié)果是否矛盾。

代碼

CF1844F1F2

這兩天被組里趕著讀論文,晚點再來補題。


Codeforces Round #884(Div. 1 + Div. 2) 題解(目前A~E,未完待續(xù))的評論 (共 條)

分享到微博請遵守國家法律
建水县| 三门峡市| 自贡市| 康保县| 定陶县| 兴文县| 尼玛县| 高州市| 孟州市| 全椒县| 镇赉县| 萝北县| 沅江市| 厦门市| 石渠县| 那坡县| 东明县| 卓尼县| 报价| 五寨县| 台中市| 德昌县| 衡山县| 扶余县| 轮台县| 永川市| 泸州市| 南郑县| 思南县| 伊川县| 深水埗区| 大安市| 宁都县| 福鼎市| 余姚市| 松原市| 调兵山市| 榆林市| 丁青县| 丹阳市| 怀来县|