Codeforce 1141 F2. Same Sum Blocks (Hard) 解析(思維.前綴和.貪心) 今天我們來看看CF1141F2(Hard) 題目連結 題目 給你一個數列\(a\),要你從中找出若干個數字和一樣的disjoint的連續區段,輸出最多的段數和是哪些段. 前言 一開始還是陷入和以前一樣的誤區,總感覺如果暴力把所有可能都找出來要\(O(2^n)\),但其實因為區段是連續的,所以全部找出來只要\(O(n^2)\) @copyright petjelinux 版權所有 觀看更…
Codeforce 1425 A. Arena of Greed 解析(思維) 今天我們來看看CF1425A 題目連結 題目 略,請直接看原題. 前言 明明是難度1400的題目,但總感覺不是很好寫阿,而且以下題解我感覺有些地方我也懵懵懂懂的,不是超級確定 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先,這題目有一個除以\(2\)的動作,因此有可能聯想到\(:\)我們必須用二進位來看待數字\(n\). 有一個不等式非常重要,…
Codeforce 1420 C2. Pokémon Army (hard version) 解析(思維) 今天我們來看看CF1420C2 題目連結 題目 略,請直接看原題. 前言 根本想不到這個等價的想法 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先注意到,如果數列其中一段是遞增數列,那麼我們最好的方式就是減去最小的那個數字並且加上最大的那個數字.因為這樣做得到的值是\(\max-\min\),而如果我們選取這遞增數列…
Codeforce 1420 B. Rock and Lever 解析(思維) 今天我們來看看CF1420B 題目連結 題目 給一個數列\(a\),求有多少種\((i,j)\)使得\(i<j\)且\(a_i\&a_j\ge a_i\oplus a_j\) 前言 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 觀察到,由於\(1\&1=1\),\(1\oplus1=0\),所以\(a_i\&a_j\)有的\(b…
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 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 500 D. New Year Santa Network 解析(思維.DFS.組合.樹狀DP) 今天我們來看看CF500D 題目連結 題目 給你一棵有邊權的樹,求現在隨機取\(3\)點,求這三點互相距離總和的期望值. 前言 今天寫的題目都是看解答就會寫,原本就沒有的自信心又要更低了 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 \(3\)個點要考慮的事情太多了,首先只要注意到以下一件事,那麼其他的事情就和…
Codeforce 1383 B. GameGame 解析(思維.博弈) 今天我們來看看CF1383B 題目連結 題目 兩個人在玩遊戲,有一個長度為\(n\)的數列\(a\),每次每個人選一個數字和目前自己的分數XOR(初始為0分),最後拿到最多分數的人贏,求誰會贏? 前言 博弈的題目一直不是很會做,這次這題有個我平時可能不會想到的新想法:可以嘗試讓其中一個玩家跟隨另一個玩家做動作,如果被跟隨的那個玩家最後會輸,那麼跟隨的那個玩家就會贏.這是因為我們給出了一個明確的移動方法. 想法 首先要知道一…
Codeforce 839 B. Game of the Rows 解析(思維) 今天我們來看看CF839B 題目連結 題目 有如下圖片所示的飛機座位\(n\)排,和\(k\)隊士兵,每隊數量不一定. 求是否可以每隊都坐上去並且沒有任何兩個士兵相鄰「並且」是不同隊的. 前言 思考時小心一點,記得座位有很多種捨棄方法 想法 注意到,在座位足夠的情況下,我們可以有三步驟的方法來捨去座位. 把中間的\(4\)個座位分成\(1,2\)人座位 (此步把可以得到的間隔都得到了) 把左右的2個2人座位隨便選一…
Codeforce 1095 F. Make It Connected 解析(思維.MST) 今天我們來看看CF1095F 題目連結 題目 給你\(n\)個點,每個點\(u\)還有一個值\(a[u]\),還有給你\(m\)條可能的邊. 任兩點\((u,v)\)都可能可以用\(a[u]+a[v]\)這個權值來連接. 一開始圖上沒有邊,求最小的權值使得圖連通. 前言 思考方向還是不夠正確阿... 想法 首先知道我們想要構造MST,並且注意到:如果不考慮多出來的\(m\)條邊,那麼從權值最小的點連到所…