线段树算法
THE END GAME
这个作者很懒,什么都没留下…
展开
-
CF685B Kay and Snowflake
CF685B Kay and Snowflake 题意:输入一棵树,判断每一棵子树的重心是哪一个节点. 题解: 首先关于重心:一棵树将某个点去掉,会把这棵树分为好几块,以最大的一块的结点个数作为maxsizemaxsizemaxsize,这样的话每一个点都对应着一个maxsizemaxsizemaxsize,这些值当中最小的那个所对应的结点即为树的重心。 定义:Gson[i]Gson[i]Gson...原创 2019-10-29 18:00:14 · 152 阅读 · 0 评论 -
我得试着去做
先普及以下,这个血泪的教训 关于endl: 在c++中,终端输出换行时,用cout<<…<<endl 与 “\n”都可以,这是初级的认识。但二者有小小的区别,用endl时会刷新缓冲区,使得栈中的东西刷新一次,但用“\n”不会刷新,它只会换行,盏内数据没有变化。但一般情况,二者的这点区别是很小的,在大的程序中可能会用到。建议用endl来换行. 2.endl除了写’\n’进...原创 2019-04-25 20:24:39 · 134 阅读 · 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 · 114 阅读 · 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 · 246 阅读 · 1 评论 -
DFS序/树的遍历
二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种次序依次访问二叉树中所有的结点,使得每个结点被访问依次且仅被访问一次。 前序遍历 若树为空,则空操作返回。否则,先访问根节点,然后前序遍历左子树,再前序遍历右子树。(W)型 (中 左 右) 中序遍历 若树为空,则空操作返回。否则,从根节点开始(注意并不是先访问根节点),中序遍历根节点的左子树,然后是访问根节点,...转载 2019-03-08 20:27:33 · 212 阅读 · 0 评论