数据结构==启发式合并
Helium_wild
这个作者很懒,什么都没留下…
展开
-
bzoj1483 梦幻布丁(区间启发式合并)
n个数,m个操作,操作:将1-n中颜色为x的改成颜色y.询问:当前一共有多少段颜色. n,m<=1e6下面的swap(f[x],f[y])其实就是颜色x在哪个vector y在哪个vector就是比如颜色x变成y 颜色x的人很多 直接改成y所在的vector是f[x] 然后把x所在的vector 颜色改为y(本来就是y)#include<bits/stdc++.h>us...原创 2019-10-17 19:50:49 · 196 阅读 · 0 评论 -
cf600E(每个节点子树中出现次数最多的颜色编号和 树上启发式合并/线段树)
题目1.启发式合并sum[num[col[x]]]=col[x],num[col[x]]+=val,sum[num[col[x]]]+=col[x];2.线段树合并#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+5;struct Edge{int to,ne...原创 2019-10-17 10:40:30 · 288 阅读 · 0 评论