D. The Wu 解析(思維、二進位運算)】的更多相关文章

Codeforce 1017 D. The Wu 解析(思維.二進位運算) 今天我們來看看CF1017D 題目連結 題目 略,請直接看原題 前言 官方解答實在看不懂...之後還記得的話再補那個做法吧 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 只要注意到\(n\le12\)代表所有可能出現的數字\(\le\sum\limits_{i=0}^{11}2^i=2^{12}-1=4096-1\),那就會注意到這題的\(m,q\le…
Codeforce 1144 E. Median String 解析(思維.大數運算) 今天我們來看看CF1144E 題目連結 題目 給你兩個長度為\(k\)的字串\(s\)和\(t\),求字典序排序的,\(s,t\)的中位字串. 前言 想法 觀察一下,發現我們可以把字串看成26進位的數字,所以我們只要計算\((s+t)/2\)就好. 程式碼: const int _n=2e5+10; int tt,k,inc,z,left; char s[_n],t[_n],res[_n]; main(voi…
Codeforce 1425 A. Arena of Greed 解析(思維) 今天我們來看看CF1425A 題目連結 題目 略,請直接看原題. 前言 明明是難度1400的題目,但總感覺不是很好寫阿,而且以下題解我感覺有些地方我也懵懵懂懂的,不是超級確定 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先,這題目有一個除以\(2\)的動作,因此有可能聯想到\(:\)我們必須用二進位來看待數字\(n\). 有一個不等式非常重要,…
Codeforce 796 C. Bank Hacking 解析(思維) 今天我們來看看CF796C 題目連結 題目 略,請直接看原題. 前言 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先稍微在腦中模擬一下大概整個流程是怎麼進行的,會發現以下幾件事: 選取點\(v\)開始整個流程,之後是對以\(v\)為根的樹"Hack",並且銀行防禦力增加只會加到子節點 每個點最多被\(+2\) 那麼我們可以想到以下的結論:…
Codeforce 1420 D. Rescue Nibel! 解析(思維.組合.離散化.差分) 今天我們來看看CF1420D 題目連結 題目 給你\(n\)個區間,求有幾種方法使得\(k\)個區間的交集非空. 前言 組合不會算,也想不到離散化 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先需要找個依據來枚舉開始計算,而我們可以觀察到:對於任何一個\(k\)個區間的交集,這個交集的左界一定是某個區間的左界,也就是說我們可以…
Codeforce 1141 F2. Same Sum Blocks (Hard) 解析(思維.前綴和.貪心) 今天我們來看看CF1141F2(Hard) 題目連結 題目 給你一個數列\(a\),要你從中找出若干個數字和一樣的disjoint的連續區段,輸出最多的段數和是哪些段. 前言 一開始還是陷入和以前一樣的誤區,總感覺如果暴力把所有可能都找出來要\(O(2^n)\),但其實因為區段是連續的,所以全部找出來只要\(O(n^2)\) @copyright petjelinux 版權所有 觀看更…
Codeforce 839 B. Game of the Rows 解析(思維) 今天我們來看看CF839B 題目連結 題目 有如下圖片所示的飛機座位\(n\)排,和\(k\)隊士兵,每隊數量不一定. 求是否可以每隊都坐上去並且沒有任何兩個士兵相鄰「並且」是不同隊的. 前言 思考時小心一點,記得座位有很多種捨棄方法 想法 注意到,在座位足夠的情況下,我們可以有三步驟的方法來捨去座位. 把中間的\(4\)個座位分成\(1,2\)人座位 (此步把可以得到的間隔都得到了) 把左右的2個2人座位隨便選一…
Codeforce 1095 E. Almost Regular Bracket Sequence 解析(思維) 今天我們來看看CF1095E 題目連結 題目 給你一個括號序列,求有幾個字元改括號方向能夠讓整串變成合法. 前言 這題能幫助熟悉有關Regular Bracket Sequence的能夠維護的狀態. @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 只要維護左括號為\(1\),右括號為\(-1\)的前(後)綴和,並維護…
Codeforce 1163 C2. Power Transmission (Hard Edition) 解析(思維.幾何) 今天我們來看看CF1163C2 題目連結 題目 給一堆點,每兩個點會造成一個直線,求有多少個直線對相交. 前言 這題提供了一個表達直線的方法. @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 這題的難點其實是在於如何表達一條直線,且要認為用\(map\)不會超時(我也不懂為什麼最多會有\(10^6\)個不…
Codeforce 1311 F. Moving Points 解析(思維.離散化.BIT.前綴和) 今天我們來看看CF1311F 題目連結 題目 略,請直接看原題. 前言 最近寫1900的題目更容易不看題解了,不知道是不是較少人\(AC\)的同難度題目會比較簡單. @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先注意到,如果\(x\)座標上的前後兩點\(x_i,x_j\),\(x_i<x_j\),如果\(v[x_i]>v…