RT,我有一种感觉本题数据满足 ki 递减的感觉
我使用了 Kruskal 重构树,然后尝试了一下
(b 数组是已经按照边权从大到小排序后的,a 数组是原数组)
if (op == 3) {
int p = read(), k = read();
if (c[LCA(a[p].u, a[p].v)].index == p)
c[LCA(a[p].u, a[p].v)].val = k;
}
和
if (op == 3) {
int p = read(), k = read();
if (c[LCA(b[p].u, b[p].v)].index == p)
c[LCA(b[p].u, b[p].v)].val = k;
}
这样写均可通过,但是按照题目意思应该只有第一种可以通过。
我没仔细思考过两种情况会不会等价,于是我来问一下(