摘要:
并查集 //已经把所有操作读进来了 for (int i=1;i<=n+1;i++) to[i] = i; for (int i=m;i>=1;i--) { int l = L[i], r= R[i],v= V[i];//要把a[l]~a[r]全部赋值为v int p=get(l);//找到从左端点 阅读全文
posted @ 2024-10-02 20:18
SigmaToT
阅读(18)
评论(1)
推荐(0)
摘要:
if (rand() % 2) to[get(p1)] = get(p2) else to[get(p2)] = get(p1); //get是找最终到达的点 如果出题人ban掉了路径压缩,就这么写 阅读全文
posted @ 2024-10-02 20:17
SigmaToT
阅读(16)
评论(1)
推荐(0)
摘要:
\(fib\) 数列任意三项都不能组成三角形 树上三角形:每个值都 \(\leq\) 1e9 做 \(lca\) 如果树上的点 \(\ge\) 40,直接输出 \(Yes\) (\(\because\)\(fib_{40} \approx 1e9\)) 否则直接暴力 阅读全文
posted @ 2024-10-02 19:59
SigmaToT
阅读(18)
评论(1)
推荐(0)
摘要:
写法一:懒!!!! #include <iostream> #include <cstdio> #include <cmath> using namespace std; int n, m; long long a[100005]; long long blng[100005]; // blng[i 阅读全文
posted @ 2024-10-02 19:05
SigmaToT
阅读(11)
评论(1)
推荐(0)

浙公网安备 33010602011771号