dsu on tree
枫茗、
HELLO,WORLD!
展开
-
树的果实—赛氪冬季赛(dsu on tree)
题意: 有n个果实,每一个果实都有自己的编号,且标号为1的果实在最上面,像是一个根节点,树上的一个果实 u 到另一个果实 v 的距离为ww,摘下一颗果实,会连带着把它的子树的果实也给摘下来。摘下来所得到的贡献为 Σ(数字出现的次数*数字)的平方 。有m次询问,想知道当前询问的果实连带着它的子树果实被摘下来时的贡献是多少。 思路: 边权化点权,然后套dsu。 样例: 第1行,三个整数n,m,c分别表示树的大小,询问的个数,边权的范围。 第2-n行,每行三个整数u,v,w表示从u到v有一条边权w的边原创 2022-04-12 18:59:38 · 601 阅读 · 0 评论 -
正经人谁吃泡菜肥牛啊?--dsu+树状数组
题目链接: 正经人谁吃泡菜啊 题意: 思路: dsu的板子题,将对x节点的所询问保存到q[x]中,在dsu过程中,用树状数组维护不同泡菜肥牛值的个数,当dsu到节点x时,对q[x]中每个询问对应答案的值就是query(k),因为不大与k就是肥牛值在[1,k]之间的个数。 样例: 输入: 4 1 2 3 1 1 2 1 3 3 4 3 1 3 3 1 2 2 输出: 4 1 1 代码: #include <bits/stdc++.h> using name.原创 2022-04-12 16:40:10 · 291 阅读 · 0 评论