B. Two Fairs 解析(思維、DFS、組合)】的更多相关文章

Codeforce 1420 D. Rescue Nibel! 解析(思維.組合.離散化.差分) 今天我們來看看CF1420D 題目連結 題目 給你\(n\)個區間,求有幾種方法使得\(k\)個區間的交集非空. 前言 組合不會算,也想不到離散化 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先需要找個依據來枚舉開始計算,而我們可以觀察到:對於任何一個\(k\)個區間的交集,這個交集的左界一定是某個區間的左界,也就是說我們可以…
Codeforce 1276 B. Two Fairs 解析(思維.DFS.組合) 今天我們來看看CF1276B 題目連結 題目 給一個連通圖,並給兩個點(\(a,b\)),求有多少點對使得:任一路徑都要經過\(a,b\)這兩點. 想法 首先因為不一定是棵樹,所以總覺得LCA用不到.而這個圖又很大,因此感覺應該是要從\(a,b\)這兩點出發做點事情,例如DFS. 當開始這樣想以後,會發現我們其實可以把所有點分成三種類型: \(a,b\)都走得到的 只有\(a\)走得到 只有\(b\)走得到 這樣…
Codeforce 500 D. New Year Santa Network 解析(思維.DFS.組合.樹狀DP) 今天我們來看看CF500D 題目連結 題目 給你一棵有邊權的樹,求現在隨機取\(3\)點,求這三點互相距離總和的期望值. 前言 今天寫的題目都是看解答就會寫,原本就沒有的自信心又要更低了 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 \(3\)個點要考慮的事情太多了,首先只要注意到以下一件事,那麼其他的事情就和…
Codeforce 1401 D. Maximum Distributed Tree 解析(思維.DFS.組合.貪心.DP) 今天我們來看看CF1401D 題目連結 題目 直接看原題比較清楚,略. 前言 這次比賽被第C.題搞到剩20分鐘可以寫D.這題,比賽時沒寫出來,比完了以後花了一個多小時Debug才De出來Orz. 想法 要注意到,題目中的distribution index實際上就是把每條路對於每個點對互相拜訪時,會被經過幾次,乘個權重,全部加起來.例如說\((u,v)\)這條邊,\(u\…
Codeforce 685 B. Kay and Snowflake 解析(思維.DFS.DP.重心) 今天我們來看看CF685B 題目連結 題目 給你一棵樹,要求你求出每棵子樹的重心. 前言 完全不知道我怎麼想到的 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先會感覺是樹狀DP,並且狀態是每個子樹的重心. 在建重心剖分樹的時候,我們找根為\(v\)的樹的重心的方法是看看目前節點有沒有大小大於目前樹的一半(\(size[v…
Codeforce 1328 E. Tree Queries 解析(思維.LCA) 今天我們來看看CF1328E 題目連結 題目 給你一棵樹,並且給你\(m\le2e5\)個詢問(包含\(k\)個點),求能不能找到一個從點\(1\)開始的路徑,使得這\(k\)個點離這個路徑的距離\(\le1\) 前言 久違的沒看解答寫的題目,故寫題解 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 可以觀察到,題目的敘述表示,對於一個節點\(v…
Codeforce 342 E. Xenia and Tree 解析(思維.重心剖分) 今天我們來看看CF342E 題目連結 題目 給你一棵樹,有兩種操作,把某點標成紅色或者查詢離某點最近的紅點有多遠. 前言 這題我是當作學習重心剖分的習題看待的,最詳細的版本請看教學文 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 每兩個樹上的點,其重心剖分樹(CD樹)上的\(LCA\)一定在其最短路徑上.因此當我們把點\(v\)塗成紅色時,…
Codeforce 1172 B. Nauuo and Circle 解析(思維.DP) 今天我們來看看CF1172B 題目連結 題目 略,請直接看原題 前言 第一個該觀察的事情一直想不到,看了解答也想很久才知道為什麼對... 想法 這題的重點是要想到:一個節點\(u\)的所有子節點子樹必須佔據一整個連續的圓弧,否則如果有另外一個非子節點子樹在這些子節點子樹中間,那麼必定有另一個在\(u\)這棵子樹外的點連接過來,但是\(u\)最少必須連接被分開的兩個子節點區段,那麼一定會有交叉. 接下來就是自…
Codeforce 1425 A. Arena of Greed 解析(思維) 今天我們來看看CF1425A 題目連結 題目 略,請直接看原題. 前言 明明是難度1400的題目,但總感覺不是很好寫阿,而且以下題解我感覺有些地方我也懵懵懂懂的,不是超級確定 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 首先,這題目有一個除以\(2\)的動作,因此有可能聯想到\(:\)我們必須用二進位來看待數字\(n\). 有一個不等式非常重要,…
Codeforce 1095 E. Almost Regular Bracket Sequence 解析(思維) 今天我們來看看CF1095E 題目連結 題目 給你一個括號序列,求有幾個字元改括號方向能夠讓整串變成合法. 前言 這題能幫助熟悉有關Regular Bracket Sequence的能夠維護的狀態. @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 只要維護左括號為\(1\),右括號為\(-1\)的前(後)綴和,並維護…