首页 > 华华和月月种树
头像 Kur1su
发表于 2020-08-19 22:28:11
Description 华华看书了解到,一起玩养成类的游戏有助于两人培养感情。所以他决定和月月一起种一棵树。因为华华现在也是信息学高手了,所以他们种的树是信息学意义下的。华华和月月一起维护了一棵动态有根树,每个点有一个权值。刚开存档的时候,树上只有 0 号节点,权值为 0 。接下来有两种操作:操作 展开全文
头像 sunsetcolors
发表于 2020-08-19 16:34:01
华华和月月种树 题目地址: https://ac.nowcoder.com/acm/problem/23051 基本思路: 我们考虑先离线,将树建出来,然后在序上用差分树状数组维护,但是在这样做的过程中,对于每次的操作二,有些实际还没有被加入的点也被算了权值,所以我们在每次新加点的时候记录一 展开全文
头像 hnust_yangyanjun
发表于 2020-08-21 10:34:18
题意:一开始被给予一棵只有一个编号为0、权值为0的根节点的树,有M个操作,每个操作为以下三种之一:操作1:输入格式为1 i 表示给i节点加个权值为0的子节点,编号为当前最大编号+1。操作2:输入格式为2 i a 表示给i为根的子树所有节点的权值加a。操作3:输入格式为3 i 表示输出i节点的权值。 展开全文
头像 zzugzx
发表于 2020-08-19 15:19:05
题目链接 题意:题解:AC代码 /* Author : zzugzx Lang : C++ Blog : blog.csdn.net/qq_43756519 */ #include<bits/stdc++.h> using namespace std; #def 展开全文
头像 lifehappy
发表于 2020-08-19 16:25:25
华华和月月种树 思路 树上对整颗子树进行操作,容易想到用序,但是这是一颗动态变化的树,所以我们可以考虑离线操作。 既然是离线操作,那就简单了,先存下一整棵树以及所有的操作,然后按照要求模拟即可: 对于操作二我们直接以最终一整颗树中形态来进行差分。 对于操作一这里就有有一个关键点了,这个时候刚好有一 展开全文
头像 sunrise__sunrise
发表于 2020-08-19 16:33:48
参考题解 题目意思 第一行一个T,代表总操作数T,T<4e5后面有T行,分三种情况。第一个数是1,生成一个新的节点挂在第二个数的子节点位置,编号为第几次操作1就是几。第二种情况是第一个数为2,把第二个数以及全部子树权值都增加第三个数大小。第三种情况是第一个数是3,直接输出第二个数的权值。 So 展开全文
头像 issue是云哥的小迷×呀
发表于 2020-08-19 18:05:32
#include <bits/stdc++.h> using namespace std; const int maxn=1e5+10; vector<int>vec[maxn]; int sumn[maxn],m; int top=1,idmin[maxn],idmax[m 展开全文
头像 昵称很长很长真是太好了
发表于 2020-08-20 12:12:21
题意:华华看书了解到,一起玩养成类的游戏有助于两人培养感情。所以他决定和月月一起种一棵树。因为华华现在也是信息学高手了,所以他们种的树是信息学意义下的。华华和月月一起维护了一棵动态有根树,每个点有一个权值。刚开存档的时候,树上只有 0 号节点,权值为 0 。接下来有两种操作:操作 1:输入格式1 i 展开全文
头像 luo想要个气球
发表于 2020-08-20 15:26:53
题意: 思路: 离线操作,把所有操作存起来,对于所有1操作建好一颗最终的树就变成了裸的树链剖分但是可能会出现,一个点还没建出来就已经被加了权值的错误因此对于每一个操作1就将新建的点的权值归零 #include <cstdio> #include <algorithm> #i 展开全文
头像 bai_qi
发表于 2020-08-20 20:50:06
*题目描述 *华华看书了解到,一起玩养成类的游戏有助于两人培养感情。所以他决定和月月一起种一棵树。因为华华现在也是信息学高手了,所以他们种的树是信息学意义下的。华华和月月一起维护了一棵动态有根树,每个点有一个权值。刚开存档的时候,树上只有 0 号节点,权值为 0 。接下来有两种操作:操作 1:输入格 展开全文