cf1276B】的更多相关文章

题意简述:给出无向图,会有重边,然后给你两个点a,b,让你计算有多少点对(x,y)满足从x到y的所有路径都经过a和b 题解:先从a,b两点出发进行dfs,dfs的过程中不能经过a,b两点(除了开始) 所有的点分为了三类,第一类是a能到但是b到不了,第二类是b能到但是a到不了,第三类是a,b都能到 首先每一类点的内部之间的点对对答案没有贡献,因为他们之间到达可以只经过a,b其中一个点 所以只需要考虑不同类之间的点对答案的贡献 第一类和第三类对答案没有贡献,因为对于点对x,y,x可以先a再到y,而不…
Codeforce 1276 B. Two Fairs 解析(思維.DFS.組合) 今天我們來看看CF1276B 題目連結 題目 給一個連通圖,並給兩個點(\(a,b\)),求有多少點對使得:任一路徑都要經過\(a,b\)這兩點. 想法 首先因為不一定是棵樹,所以總覺得LCA用不到.而這個圖又很大,因此感覺應該是要從\(a,b\)這兩點出發做點事情,例如DFS. 當開始這樣想以後,會發現我們其實可以把所有點分成三種類型: \(a,b\)都走得到的 只有\(a\)走得到 只有\(b\)走得到 這樣…