思路:
並查集按秩合併維護出現時間。
最早連線時間就是樹上連線最大值。
\(qwq\)我居然把路徑壓縮和按秩合併打到乙個程式裡了...ovo
#include using namespace std;
const int maxn = 1000010;
struct edge e[maxn << 1];
//struct asksq[maxn<<1];
int n,m,q,cnt;
int x,y;
int rank[maxn];
int fa[maxn];
int head[maxn];
inline int find(int x)
inline void add_edge(int u,int v,int w)
else
return;
}inline int query(int x,int y)
while(fa[r] != r)
if(dx < dy)
while(dx > dy)
if(x == y) return res;
while(x != y)
return res;
}int main ()
for(int i = 1;i <= m; ++i)
} for(int i = 1;i <= q; ++i)
return 0;
}
CF578B Or Game(貪心)題解
現在有n個數 a 1,a 2,a 3,a n 你最多可以進行k次操作,每次操作你可以將其中乙個數乘以 x 使得 a 1 a 2 a n 最大。貪心 字首字尾 首先明確 答案的這 k 次 times x 操作用都會在同乙個數身上。因為 x 大於 2 所以每次相乘都會使得該數的二進位制為至少左移一位,或...
578 查詢回答率最高的問題
即乙個問題show之後,可能是被answer了,也可能是被skip了,所以求回答率。其實思路都是一致的,求出回答次數 出現次數即可 題解一 select question id as survey log from select question id,sum case when action an...
JZOJ 交換 模擬
給出字串s和字串t,現在你要把s的某乙個字元和t的某乙個字元交換,使得交換之後的s至少要有三個連續相同的字元,交換之後的t也要有三個連續相同的字元。問有多少種不同的交換方式。第一行,乙個字串s。s只含有 r g b 三種字元,長度不超過50,不小於3。而且s任意兩個相鄰的字元都不相同。第二行,乙個字...