强(双)联通分量&&主席树
强连通分量和主席树学习
yjr-1100
( ´・ω・)ノ(._.`),关注我,一起学习
展开
-
HDU - 4348 To the moon
题目大意: 对于给出的一组数据 C操作 : 给区间 l-r 的所有数据加 d,时间点加1 Q操作: 返回区间 l-r 的所有数据的和 H操作: 返回t时间点,l-r 的所有数据的和 B操作: 回到时间点t , 这时 t之后的时间都不可以再访问 代码 #include<stdio.h> #include<algorithm> #include<vector> #include<iostream> #define ll long long using na.原创 2020-07-23 17:02:46 · 123 阅读 · 0 评论 -
HDU Kth number 主席树
题目就一句话,找到一个区间里第k小的数,详细看代码 //主席树模板题 //求区间第 k 小的树 #include<stdio.h> #include<vector> #include<algorithm> #include<iostream> using namespace std; const int maxn=1e5+6; int n,m,cnt,root[maxn],a[maxn],x,y,k; //cnt是root的计数,a存放原来的数据。 struc原创 2020-07-23 18:28:00 · 148 阅读 · 0 评论 -
POJ 2186 Popular Cows(强联通分量)
题意: 给出n头牛,m个关系,关系x,y表示牛x喜欢牛y,如果x喜欢y,y喜欢z,那么x也喜欢z。 是否存在一些牛,其他所有牛都喜欢他。 明显,如果是一个大的联通分量,那么他们相互喜欢,如果有几个联通分量,那么如果有两个或两个以上的联通分量没有指向其他联通分量,那么这样的牛是不存在的,如图: 所以我们出了计算联通分量,还要存放,某个联通分量有多少个牛组成,以及这个联通分量有没有出度,如果这样的牛存在,那么它所在的联通分量必然出度为0,并且只有1个出度为0的联通分量。 //POJ_2186_Popul..原创 2020-08-02 16:18:56 · 196 阅读 · 0 评论 -
HDU-5934 BOMB (强连通分量)
题目没有什么难理解的,就是T次情况,每次有N个炸弹,告诉你炸弹的坐标,爆炸范围,消耗,在另一个爆炸范围内的炸弹,不需要单独引爆,输出最少的消耗; 我们首先需要计算炸弹之间的距离,如果A可以引爆B,那么有一条A指向B的边。 再对这个图进行联通分量的求解,找到几个联通分量 最后对已知的联通分量进行缩减(如果两个独立的联通分量,可以有一条边来连接,那么只需要引爆前一个就可以了。) 关于联通分量的一些事: 对于一个图,我们dfs遍历时有下图的顺序: 我们用数组dfn来存放这些初始时间顺序,在他访问到点的..原创 2020-07-29 10:10:39 · 246 阅读 · 0 评论