
线段树算法
THE END GAME
这个作者很懒,什么都没留下…
展开
-
CF685B Kay and Snowflake
CF685B Kay and Snowflake题意:输入一棵树,判断每一棵子树的重心是哪一个节点.题解:首先关于重心:一棵树将某个点去掉,会把这棵树分为好几块,以最大的一块的结点个数作为maxsizemaxsizemaxsize,这样的话每一个点都对应着一个maxsizemaxsizemaxsize,这些值当中最小的那个所对应的结点即为树的重心。定义:Gson[i]Gson[i]Gson...原创 2019-10-29 18:00:14 · 228 阅读 · 0 评论 -
我得试着去做
先普及以下,这个血泪的教训关于endl:在c++中,终端输出换行时,用cout<<…<<endl 与 “\n”都可以,这是初级的认识。但二者有小小的区别,用endl时会刷新缓冲区,使得栈中的东西刷新一次,但用“\n”不会刷新,它只会换行,盏内数据没有变化。但一般情况,二者的这点区别是很小的,在大的程序中可能会用到。建议用endl来换行.2.endl除了写’\n’进...原创 2019-04-25 20:24:39 · 169 阅读 · 0 评论 -
小花梨的数组
题解:标程:#include<bits/stdc++.h>#define lc ((o) << 1)#define rc ((o) << 1 | 1)using namespace std;typedef long long ll;typedef pair<int, int> Pair;const int maxn = 1e5 +...转载 2019-05-20 19:18:45 · 156 阅读 · 0 评论 -
数据结构——树以及线段树
#include<bits/stdc++.h>using namespace std;const int N=1e6+5;int a[N];int lazy[N*4];int tree[N*4];void push_up(int rt){ tree[rt]=tree[rt<<1]+tree[rt<<1|1];}void push...原创 2019-08-04 09:34:56 · 350 阅读 · 1 评论 -
DFS序/树的遍历
二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种次序依次访问二叉树中所有的结点,使得每个结点被访问依次且仅被访问一次。前序遍历若树为空,则空操作返回。否则,先访问根节点,然后前序遍历左子树,再前序遍历右子树。(W)型 (中 左 右)中序遍历若树为空,则空操作返回。否则,从根节点开始(注意并不是先访问根节点),中序遍历根节点的左子树,然后是访问根节点,...转载 2019-03-08 20:27:33 · 270 阅读 · 0 评论