C. k-Amazing Numbers 解析(思維)】的更多相关文章

Codeforce 1417 C. k-Amazing Numbers 解析(思維) 今天我們來看看CF1417C 題目連結 題目 略,請直接看原題. 前言 我實作好慢... @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 只要注意到,真正重要的是對於某個數字,區間至少要多大才可以每個區間都包含到它.因此我們維護對於每種數字,其和下一個同種數字的最大距離,且還需要考慮元素到頭和到尾的距離. 如此一來就可以知道對於每種數字最短需要…
Codeforce 1425 A. Arena of Greed 解析(思維) 今天我們來看看CF1425A 題目連結 題目 略,請直接看原題. 前言 明明是難度1400的題目,但總感覺不是很好寫阿,而且以下題解我感覺有些地方我也懵懵懂懂的,不是超級確定 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先,這題目有一個除以\(2\)的動作,因此有可能聯想到\(:\)我們必須用二進位來看待數字\(n\). 有一個不等式非常重要,…
Codeforce 702 D. Road to Post Office 解析(思維) 今天我們來看看CF702D 題目連結 題目 略,請直接看原題. 前言 原本想說會不會也是要列式子解或者二分搜,沒想到意外的是思考非常簡單的一題 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 如果坐車\(k\)公里加上修理比走路\(k\)公里還要慢,那麼我們只需要先坐車\(k\)公里,然後不要修,直接走路走完全程. 如果坐車\(k\)公里加上…
Codeforce 1420 D. Rescue Nibel! 解析(思維.組合.離散化.差分) 今天我們來看看CF1420D 題目連結 題目 給你\(n\)個區間,求有幾種方法使得\(k\)個區間的交集非空. 前言 組合不會算,也想不到離散化 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先需要找個依據來枚舉開始計算,而我們可以觀察到:對於任何一個\(k\)個區間的交集,這個交集的左界一定是某個區間的左界,也就是說我們可以…
Codeforce 682 D. Alyona and Strings 解析(思維.DP) 今天我們來看看CF682D 題目連結 題目 略,請直接看原題. 前言 a @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先會感覺應該是類似\(LCS\)的問題,但是有一點變形.因此我們會先想到應該是\(DP\),而可能會想到另外兩個狀態是: 共同部分是不是目前兩個字串前綴的結尾 最小的分段是幾段 也就是\(:dp[i][j][end]…
Codeforce 61 E. Enemy is weak 解析(思維.離散化.BIT.線段樹) 今天我們來看看CF61E 題目連結 題目 給一個數列\(a\),求有多少\((i,j,k)\),\(i<j<k\),使得\(a[i]>a[j]>a[k]\) 前言 學到BIT的新用法 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先可能會想到要枚舉\(j\),而我們只要知道\(a[j]\)前有多少比較大的元素,\(…
Codeforce 1328 E. Tree Queries 解析(思維.LCA) 今天我們來看看CF1328E 題目連結 題目 給你一棵樹,並且給你\(m\le2e5\)個詢問(包含\(k\)個點),求能不能找到一個從點\(1\)開始的路徑,使得這\(k\)個點離這個路徑的距離\(\le1\) 前言 久違的沒看解答寫的題目,故寫題解 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 可以觀察到,題目的敘述表示,對於一個節點\(v…
Codeforce 1041 E. Tree Reconstruction 解析(思維) 今天我們來看看CF1041E 題目連結 題目 略,請直接看原題 前言 一開始完全搞錯題目意思,還以為每次會刪除一條邊 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 注意到同一個點對\((a_i,b_i)\)如果出現\(k\)次,代表這兩點中間有\(k\)個比\(a_i\)小的點(記得\(a_i<b_i\)). 那麼我們只要先把所有點對保存…
Codeforce 1029 D. Concatenated Multiples 解析(思維) 今天我們來看看CF1029D 題目連結 題目 給你一個序列\(a\)和一個數字\(k\),求有幾種indices pair可以讓兩個數字串接在一起之後可以被\(k\)整除. 前言 set,map這些東西的常數真的有夠高阿 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 \(a_i\)和\(a_j\)串接起來是\(a_i\times 1…
Codeforce 550 D. Regular Bridge 解析(思維.圖論) 今天我們來看看CF550D 題目連結 題目 給你一個\(k\le100\),請構造出一個至少有一個Bridge的,每個點的degree都是\(k\)的無向圖. 前言 學到了Handshaking Lemma @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先既然要有一個Bridge,我們就從已經有一個Bridge的圖開始構造. 可能會發現到\(…