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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Codeforces 刷题记录(已停更)

發布時間:2023/12/3 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Codeforces 刷题记录(已停更) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Codeforces 每日刷題記錄 (已停更)


打‘+’是一些有啟發意義的題目,部分附上一句話題解,每日更新3題,大部分題目較水。


DayIDProblemTutorialNote
11+CF1073E狀壓,數位dp,官方題解std騷操作
\(~\)2CF1072A
\(~\)3CF1072B
24CF1072C
\(~\)5CF1068C讀題惡心
\(~\)6CF1073D猜復雜度,模擬
37CF1088A
\(~\)8CF1088B
\(~\)9CF1088C構造思想
410CF1066A
\(~\)11CF1066B
\(~\)12CF1066C
513+CF1088E推結論,tree dp,貪心
\(~\)14CF1065A
\(~\)15CF1065B
616CF1064A
\(~\)17CF1064B
\(~\)18CF1064C結論
719gym102028F焦作F,模擬
\(~\)20CF1090A
\(~\)21CF1090B模擬
822+CF1090D構造
\(~\)23+CF1090Jkmp的fail樹,計數,推導,樹dfs,HDU5129
\(~\)24CF1065C
925CF1084A
\(~\)26CF1084B讀題。
\(~\)27CF1084C
1028CF1059A
\(~\)29CF1059B
\(~\)30+CF1059C貪心構造思想
1131+CF1083Atree dp,推結論
\(~\)32CF1060A
\(~\)33CF1060B
1234+CF1083E斜率優化dp
\(~\)35CF1060C任意一個矩陣的值,相當于a的一段區間和乘b的一段區間和
\(~\)36CF1060D二分圖匹配,貪心
1337CF1093A
\(~\)38CF1093B
\(~\)39CF1093C
\(~\)40CF1093D
\(~\)41+CF1093E帶修改二維數點,bit套pbds / cdq / 卡內存
1442CF1051B
\(~\)43CF1051C
\(~\)44CF1051D
1545+CF1089Adp,背包,輸出方案
\(~\)46+CF1093G觀察可得兩點之間的k維曼哈頓距離,可以通過枚舉每一維的正負表示,線段數維護2^k種情況
\(~\)47CF1081A
1648CF1092A
\(~\)49CF1092B
\(~\)50CF1092C
1751CF1081B
\(~\)52CF1081C
\(~\)53CF1081D
\(~\)55+CF1092D1貪心
1854CF1081E
\(~\)56+CF1092D2貪心+線段樹模擬+卡時
\(~\)57+CF1092Ftree dp
1958+CF1093F計數dp+容斥 dp[i][j]表示1到i都合法,且第i個數為j的方案數
\(~\)59CF1033A
\(~\)60CF1033B
2061CF1058A
\(~\)62CF1058B
\(~\)63CF1058C
2164+CF1092E貪心構造,將每顆樹的中心(到最遠點的距離最小)連成菊花圖,中間是直徑最大的樹
\(~\)65CF1085A
\(~\)66CF1085B
\(~\)67CF1085C
\(~\)68CF1085D
2269CF1047A
\(~\)70CF1047B
\(~\)71CF1047C
2372+CF1087E搜索,邊界處理,直接模擬難以實現時,要想到搜索
\(~\)73CF1041A
\(~\)74CF1041B
\(~\)75CF1041C
\(~\)76CF1041D雙指針,注意更新邊界
2477CF1036A
\(~\)78CF1040A
\(~\)79CF1040B
2580+CF452E插入特殊字符后拼成一個串建后綴自動機,\(right[i][id]\)表示狀態i,代表的子串中,出現在\(id\)串的次數
\(~\)81CF474A
\(~\)82CF474B
2683CF1095A
\(~\)84CF1095B
\(~\)85CF1095C
\(~\)86CF1095Dn = 3時,要特判
2787CF469A
\(~\)88CF467A下一秒cf崩了,這幾天真的頹
2889CF1091A
\(~\)90CF1091B
\(~\)91CF1091C
\(~\)92CF1091D
2993+CF528D字符串\(FFT\),對 于\(s\)的每個位置\(i\)的每種字符計算它的匹配數,四種字符的和如果為\(m\)則位置\(i\)可以匹配
\(~\)94+CF1091E題解
\(~\)95CF109A完全背包
3096CF1095E左括號看作1,右括號看作-1,線段樹維護前綴和
\(~\)97CF1096A
\(~\)98CF1096B
\(~\)99CF1096C多邊形的外接圓
31100CF1097A病了幾天不會做題了
\(~\)1CF1097B
\(~\)2CF1097C
\(~\)3+CF1097D期望遞推式\(E(x,k) = \frac{1}{\sigma_0(x)} \sum_{d|x}E(d,k-1)\)\(E(x,k)\)是關于\(x\)的積性函數,因此對預處理\(E(p^m,k)\)合并即可
324CF1099A
\(~\)5CF1099B讀題
\(~\)6CF1099C讀題
337CF1038A
\(~\)8CF1038B
\(~\)9CF1038C
3410CF1027A
\(~\)11CF1027B
\(~\)12CF1027C貪心
3513CF950A
\(~\)14CF950B
3615CF950C貪心,線段樹
3716CF954A
3817CF1101A
3918CF1101B
4019CF1100A
\(~\)20CF1100B
\(~\)21CF1100C
\(~\)22+CF1100E二分,拓撲排序。一開始發現幾個DAG并起來一定可以無環,于是寫了二分+拓撲排序判環,輸出方案想了一個奇怪的做法,把圖按編號分為幾個弱聯通分量,之后討論,反向的邊是在兩個分量之間,還是在一個分量內。。然而直接把圖拓撲排序完,然后按拓撲序連邊不就行了嘛。。。awsl這段時間事兒太多了,基本沒做題。。放假!
4123CF1101C
4224CF1102A
\(~\)25CF1102B
\(~\)26CF1102C
4327+CF1100F異或線性基,zkw線段樹,卡常,這個做法很好想,但是卡常之路很艱辛ac代碼
4428CF1009A
\(~\)29CF1009B0和2相對位置不變,1可以任意移動
4530+CF1101D類似dfs求樹的直徑
\(~\)31CF1101E
\(~\)32CF998A
\(~\)33CF998B
\(~\)34CF998C
4635CF1105A
\(~\)36CF1105B
\(~\)37CF1105C
\(~\)38CF1105D
\(~\)39+CF1105E最大獨立集,狀壓,折半。參考了評論區有人提到的做法,把點分成兩份,分別處理他們每種情況下的最大獨集,最后合并答案,具體見代碼把
\(~\)40CF1104A
\(~\)41CF1104B
\(~\)42+CF1104C精準鑒別我是zz
4743CF1008A
\(~\)44CF1008B
\(~\)45CF1102D
4846CF1108A
\(~\)47CF1108B
\(~\)48CF1108C
\(~\)49CF1108D
\(~\)50+CF1108E1最終的最大值不會被覆蓋
\(~\)51+CF1108E2上一題加預處理
4952CF1107A
\(~\)53CF1107B
\(~\)54CF1107C
\(~\)55CF1107D
5056+CF1108F最小生成樹
\(~\)57CF864A
\(~\)58CF864B
5159CF1099D推式子,貪心
\(~\)60CF864C模擬
5261+CF786B線段樹優化建圖
\(~\)62CF897A
\(~\)63CF897B
5364CF897C模擬
\(~\)65CF899A
\(~\)66CF899B
5467CF1037A
\(~\)68CF1037B
\(~\)69CF1037C
5570CF1106A
\(~\)71CF1106B
\(~\)72CF1106C
\(~\)73CF1106D
5674+CF1107E區間dp,記憶化搜索,
5775CF1111A
\(~\)76CF1111B注意邊界
\(~\)77CF1111C注意邊界
5878CF1110A
\(~\)79CF1110B
\(~\)80CF1110C
\(~\)81+CF1110E注意操作對差分序列的影響
5982CF1114A
\(~\)83CF1114B猜結論
\(~\)84CF1114C運算爆long long
6085CF1114D區間dp
6186CF1113A在家躺幾天,回歸本質了
\(~\)87CF1113B讀錯題。
\(~\)88CF1113C
\(~\)89CF1113D細節寫炸。
6290+CF1109D計數。題意:求給定兩點之間的邊權和為\(m\),總點數為\(n\)個的樹的個數。做法: 固定兩點之間邊的數目\(e\),挑出\(e\)個點的方案數為\(A_{n-2}^{e-1}\),這條鏈上的邊權和為\(m\),利用隔板法可知方案數為\(C_{m-1}^{e-1}\),其余的邊的邊權都可以任意設定,因此方案數為\(m^{n-e-1}\),最后還需要的就是,其余的點以鏈上的點為基礎構成的森林的方案數。根據Cayley's formula的一般形式,可知點集\(\{ 1,2,..,n\}\) 構成的森林,且其中\(\{1,2,...,k\}\)屬于不同的樹,的方案數\(T(n,k) = kn^{n-k-1}\),證明。因此答案可表示為 \(\sum _{e=1}^{min(n-1,m)}A_{n-2}^{e-1}C_{m-1}^{e-1}m^{n-e-1}T(n,i+1)\)
\(~\)91CF1117A
\(~\)92CF1117B
\(~\)93+CF1117C對于每個a[i],找到最小的經過的周期數k,解不等式,答案一定在交點附近,討論正負,驗證
\(~\)94+CF1117D答案等價于\(\sum_{i} C_{n-im}^i\),手推幾組可以發現\(m=2\)時答案為\(Fib(n)\),然后發現\(dp(n) = dp(n-1) + dp(n-m)\) 矩陣快速冪求解
6395CF1131A
\(~\)96CF1131B
\(~\)97CF1131C
\(~\)98+CF1131F倒著考慮整個過程,其實就是每次把一個區間的兩個數之間切成兩半,那么這顯然可以構造一顆二叉樹,每個非葉子節點代表切的那一刀,葉子節點表示最后這個位置的數字,那么如果我構造出了這顆二叉樹,就顯然可以dfs一遍輸出葉子節點的值即可。現在考慮自底向上的構造這棵樹,對于一個分割隔開的兩個點中的任意一個,如果它已經出現了,就把這個點所在的樹的根接到當前節點上,如果沒有,就新建一個節點作為葉子節點,查詢一個點所在樹的根可通過并查集實現,復雜度不考慮并查集是O(n)的 代碼然而崩了沒寫出來。。。當時認為直接用并查集+vector模擬合并的過程會tle,之后意識到如果每次都用小的合并到大的里,復雜度貌似是\(O(nlogn)\)
6499+CF1109E任意模數區間乘\(x\),單點除\(x\),區間求和。考慮將\(Mod\)分解,將每個\(x\)按素因子是否屬于\(Mod\)分成兩個集合,第一個集合是所有的屬于\(Mod\)的因子,第二個集合是剩余的因子。對于第二個集合的因子,他們的乘積一定與\(Mod\)互素,因此一定存在逆元,這部分的除法可以轉化為乘逆元;對于第一集合顯然它的因子總數不多,所以我們對每個因子存下它的指數項,做除法時直接減去對應的指數項。考慮用線段樹維護答案,每個節點維護的\(Lazy\)標記,包含集合一中每個素因子及其指數項,集合二的乘積,以及答案。需要注意的是一開始的序列我們要將他們當作\(lazy\)標記,避免做除法時出現問題。還要注意合并答案時會多次用到集合一中素數的次冪,需要將預處理出來,否則會\(Tle\)。Code
\(~\)100+CF1131D建圖,倒著拓撲序遞推
\(~\)1CF1130A
\(~\)2CF1130B
\(~\)3CF1130C
\(~\)4+CF1130D1每次取當前節點走的最遠的糖
655+CF1130D2根據上一題的結論,對于一個起點\(s\),我們考慮每個車站發完所有糖的時間,取個最大值就是答案
\(~\)6CF1023A
\(~\)7CF1023B
668CF1118A
\(~\)9CF1118B
\(~\)10CF1118C
\(~\)11CF111F1
6712+CF1129B構造
\(~\)13CF984A
\(~\)14CF984B
6815CF1118D1
\(~\)16CF1118D2
\(~\)17+CF984C判斷分母\(q\),是否包含一個因子\(a\),沒有出現在\(b\)內。每次從\(q\)中除去它與\(b\)\(gcd\),同時將\(b\)修改為他們的\(gcd\)\(b,q\)的下降速度都是\(log(10^{18})\),總體是一個\(log\),正確性顯然。。。
6918+CF1129C\(unoldered\_set\)大法好!給定一空串s,長度\([1,4]\)\(26\)\(2\)進制電碼,代表不同的字母,每次在\(s\)后添加一個\(0\)\(1\),問當前的串\(s\),及其子串可以表示多少種不同的轉碼后的字符串。首先,對于長度不同的\(01\)串,一定不可能被轉成相同的字符串,對于一個固定的\(01\)串,兩種不同的合法分割方法一定可以構成不同的轉碼后的串。因此,對于\(01\)串中每個區間\(dp\)預處理這個區間有多少種合法的劃分,\(F(l,r)\)表示區間\([l,r]\)的合法劃分方案數,對于長度相同的串,\(hash\)判重,統計答案即可。一開始\(set\)超時了,\(unolder\_set\)\(4ms\)超時,艱難卡過去了。。。Code
7019+CF1131E對于\(p1*p2*...*pn\)倒著考慮整個字符串乘法的過程。情況一:假設當前獲得的字符串\(Now\)包含2種及以上種類數的字母,那么答案就是枚舉剩余的沒有成進來的串的所有字符,是否可以與\(Now\)的前綴后綴疊加更新答案。情況二:對于\(Now\)如果它是只有一種字符串考慮將它與之后的串合并,如果可以合并出一個只包含一種的串就繼續合并,如果不行,計算出乘法之后的前后綴,更新答案進入情況一。注意對答案的更新
\(~\)20CF1013A
\(~\)21CF1013B
7122CF1132AA 3發過 B 2發過。
\(~\)23CF1132B
\(~\)24CF1132C
\(~\)25+CF1132F區間dp, 復雜度是\(O(n^326)\),算起來應該超時嚴重。。。剪剪枝,卡卡常。。最后發現主要原因是多寫了一組無用的轉移導致\(Tle\)出思路+寫代碼30min,調試+懷疑人生50min。
7226+gym102059A題解
7327CF1046C
\(~\)28CF1051A
7429CF1138A
\(~\)30+CF1138B任意等分為兩組,計算兩組有用人數的差值,交換不同種類的演員,將差值調整為0
\(~\)31CF1138C讀題。
7532CF1137Bkmp,貪心
\(~\)33CF1133A
\(~\)34CF1133B
\(~\)35CF1133C
\(~\)36CF1133D
\(~\)37CF1133E
\(~\)38+CF1133F1排序之后,倒著\(dp\)\(dp[i][j]\)表示選了以第i個數作為左端點的區間,i到n中一共使用了j個區間的最大覆蓋范圍,討論轉移:一種左端點在當前區間內部,用對應右端點最遠的更新,另一種左端點在外部,用這些\(dp\)值的最大值更新答案

----------- update 2019/3/10

打算之后按套題更新。。。盡量完整的補完一套題。希望能堅持下去吧。。。

ContestProblemStatusNote
Codeforces Round #545 (Div. 1)C.Museums TourAC官方題解 Code空間時間都卡滿
\(~\)E. Train Car SelectionACCode操作1和操作3后,答案一定是最左端的點,答案的都容易維護。對于操作2,我們維護一個左下凸的凸殼,顯然這個答案點一定在凸殼上,并且維護凸殼之上的修改操作,對于新加的點答案一定是這一段的左端點,它的實際值為0,于是我們就可以假設它上面打著修改標記,計算它應有的值,然后加入這個點。加等差數列不會改變凸殼上應有的點,我們可以在凸殼上三分,或者直接從棧彈棧頂,直到找出實際上的底部的點。
\(~\)F. Matches Are Not a Child's PlayAC題解
Codeforces Round #544 (Div. 3)F2. Spanning Tree with One Fixed Degree-
Educational Codeforces Round 61 (Rated for Div. 2)D. Stressful Training-
\(~\)E. Knapsack-
\(~\)G. Greedy Subsequences-

轉載于:https://www.cnblogs.com/RRRR-wys/p/10099078.html

總結

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

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