HYSBZ 2243 染色
题目链接
树链剖分,关键在于线段树的维护,对于每个结点要记录下最左边和最右边的颜色,合并的时候,如果颜色相同那么颜色段要减1
代码:
#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
const int N = 100005;
int dep[N], fa[N], son[N], sz[N], top[N], id[N], idx, val[N], val2[N];
int first[N], next[N * 2], vv[N * 2], en;
void init() {
en = 0;
idx = 0;
memset(first, -1, sizeof(first));
}
void add_Edg......
阅读全文