[ HEOI 2016 ] 树】的更多相关文章

\(\\\) Description 给出一颗树,开始只有 \(1\) 号节点有标记. \(\ C\ x\) 对 \(x\) 号节点打标记 \(\ Q\ x\) 查询 \(x\) 号节点深度最深的有标记的祖先 \(\\\) Solution 链剖做法: 查询直到跳到第一个有权的重链上,线段树上二分即可.太板了不说了. DFS序+线段树做法: 一遍DFS求出DFS序,子树大小以及节点深度. 用线段树维护DFS序,每个节点记录覆盖当前区间深度最深的节点编号.标记下放的时候只需选择深度更深的作为答案即…
思路: 考虑时光倒流 这不就是并查集裸题了-----. //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define N 500500 int n,q,xx,yy,v[N],first[N],next[N],tot,fa[N],f[N],ask[N],vis[N],ans[N];char op[N][5]; int find(in…
[HEOI 2016] sort 解题报告 码线段树快调废我了= = 其实这题貌似暴力分很足,直接$STL$的$SORT$就能$80$ 正解: 我们可以二分答案来做这道题 假设我们二分的答案为$a$,我们就可以将整个序列分为两个集合,一个是大于等于$a$的,一个是小于$a$的 那么我们就可以将大于等于$a$的赋值为$1$,小于$a$的赋值为$0$,那么对于排序,我们就变成了线段树区间覆盖,升序就将区间中所有的$0$覆盖到前面,$1$覆盖到后面,反之亦然. 最后我们查询询问位置的数,是$1$说明二…
[Luogu 4092] HEOI/TJOI2016 树 搜了树剖标签不知道怎么就跳出了个暴搜题啊! 管他既然做了就发上来吧- 有修改标签就向下搜并修改,遇到标签即停止. 这题是真的真的短. #include <cstdio> #include <queue> using std::queue; const int MAXN=100010; bool flag[MAXN]; int n,q,cnt,head[MAXN],top[MAXN]; struct edge { int nx…
[注意事项] 为了体现增强版,题目限制和数据范围有所增强: 时间限制:1.5s 内存限制:128MB 对于15% 的数据,1<=N,Q<=1000. 对于35% 的数据,1<=N,Q<=10000. 对于50% 的数据,1<=N,Q<=100000,且数据均为官方数据. 对于100% 的数据,1<=N,Q<=1000000. 请注意常数因子对于程序运行的影响. 并查集很简单,并查集就是倒序处理,表示删除一个点的标记,删除后不会再加回来,删完后,合并当前点与其…
Description 题库链接 给你一棵 \(N\) 个节点根节点为 \(1\) 的有根树,结点的编号为 \(1\sim N\) :我们称这颗树为模板树.需要通过这棵模板树来构建一颗大树.构建过程如下: 将模板树复制为初始的大树: 以下 2.1 2.2 2.3 步循环执行 \(M\) 次: 2.1. 选择两个数字 \(a,b\) ,其中 \(1\leq a\leq N,1\leq b\leq 当前大树的结点数\) : 2.2. 将模板树中以结点 \(a\) 为根的子树复制一遍,挂到大树中结点…
Description 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题 ,需要你来帮助他.这个难题是这样子的:给出一个1到n的全排列,现在对这个全排列序列进行m次局部排序,排 序分为两种:1:(0,l,r)表示将区间[l,r]的数字升序排序2:(1,l,r)表示将区间[l,r]的数字降序排序最后询问第q 位置上的数字. Input 输入数据的第一行为两个整数n和m.n表示序列的长度,m表示局部排序的次数.1 <= n, m <= 10^…
闲来无事,把这玩意儿补上. OI生涯中第一次正经的考试.挂的很惨. Day -1 不小心把机油(雾)sm惹毛了. 好像没啥别的事儿. Day 0 说好了上午直接去机房,然而临时说让我们上完前两节课再去机房,整个人都不好了……于是乎前两节课颓废了. 去机房之前成功借到了sm的外套,背上一个角落里商标上写的made in Turkey真心叼…… 在机房好像是复习了一会儿. 去机房之前默默看了看不跟我去打省选的妹子,然后11:00去食堂吃饭(良心食堂开饭这么早),由于某些原因想减肥,于是乎基本没吃.…
超级恶心,先后用set维护right,再用主席树维护,全部超时,本地测是AC的.放心,BZOJ上还是1S限制,貌似只有常数优化到一定境界的人才能AC吧. 总之我是精神胜利了哦耶QAQ #include <iostream> #include <cstring> #include <cstdio> #define lb lower_bound #define ub upper_bound #include <set> using namespace std;…
★☆   输入文件:heoi2016_tree.in   输出文件:heoi2016_tree.out   简单对比时间限制:1 s   内存限制:128 MB 这道题数据弱到炸了 . 第一次做用树刨在链上找 A了. 第二次边都没连,直接赋值找爸爸 A了.. 屠龙宝刀点击就送 #include <ctype.h> #include <cstdio> #define M 100005 void read(int &x) { x=; ; char ch=getchar(); ;…