![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
树状数组、线段树、并查集
flyzer
这个作者很懒,什么都没留下…
展开
-
POJ 3253 优先队列
Solution:只需要从板的集合里取出最短的两块,并且把长度为两块板长度之和的板加入集合中即可,用优先队列可以高效的实现。AC_Code:#include<iostream>#include<iomanip>#include<cstdio>#include<algorithm>#include<cmath>#incl...原创 2018-11-13 11:12:19 · 152 阅读 · 0 评论 -
POJ 2341 优先队列
题意:汽车要行驶L单位的距离。最开始,汽车上有P单位的汽油,汽车走一单位路程要消耗一单位1汽油,如果汽车在形式途中汽油耗尽,那么将无法继续前行。途中有n个加油站,第i个加油站距离起点有a[i]单位的距离,且能加b[i]单位的油。问到达终点所需的最少加油次数。Solution:这题可以理解为,在到达加油站时,就获得了一次在之后的任何时候都可以加b[i]单位汽油的权利,而在之后需要加油的时候,就认...原创 2018-11-13 11:00:27 · 307 阅读 · 0 评论 -
有向图 无向图 欧拉路 欧拉图
如果图G中的一个路径包括每个边恰好一次,则该路径称为欧拉路径(Euler path)。 ——百度百科如果一个回路是欧拉路径,则称为欧拉回路(Euler circuit)。 ——百度百科有向图:欧拉回路:图连通,所有节点的出度等于入度。欧拉路:图连通,所有节点的出度等于入度;或者除两个节点以外的其余节点的入度和出度都相等,且这两个节点一个满足出度-入度==1,...原创 2018-11-03 19:56:05 · 3701 阅读 · 0 评论 -
Codeforces Round #440 Div. 2 E - Points, Lines and Ready-made Titles
纪念第一次把CF补(chao)完。题目链接推荐一篇大佬博客,不过有部分笔误,下面已做修改。转自:https://blog.csdn.net/calabash_boy/article/details/78249446题意:给出N个二维点,坐标都是整数,每个点可以不画线,也可以画一条竖直的线,也可以画一条水平的线,但是最多只能画一条线。 求图案方案数。题解: 假设两个点他们相互独立...转载 2019-04-17 21:21:47 · 116 阅读 · 0 评论 -
L2-013 红色警报 (25 分) 并查集判连通块
战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0<N≤500)和M(≤5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的...原创 2019-03-17 16:04:31 · 147 阅读 · 0 评论 -
并查集裸题 codeforces 893 C Rumor
题目链接题意:有个散布谣言的人,要把一个谣言传给所有人,有的人相互之间是朋友(只要告诉其中一人,他的朋友就会知道),求最小花费。例如样例一,先告诉1(然后1会告诉4,4再告诉5),这样就只用再告诉2和3就行了,所以最小花费是2+5+3=10。思路:并查集#include<iostream>#include<iomanip>#include<cstdi...原创 2019-02-14 20:37:00 · 162 阅读 · 0 评论 -
POJ1386Play on Words(欧拉回路)
转自:POJ1386Play on Words(欧拉回路)【题意】这个就相当于成语接龙,需满足前一个单词的尾字母与后一个的首字母相同。然后就是问是否 存在欧拉通路。【分析】用两个数组存每个字母的入度与出度,再用vis[]判断字母是否出现,然后并查集判断是否联通。 定理1:无向图G存在欧拉通路的条件是:G为连通图,并且G只有两个奇度节点或者无奇度节点。 推论1:(1)当G是仅有两个奇度...原创 2018-11-03 09:28:14 · 241 阅读 · 0 评论 -
Codeforces 877 Round #442 (Div. 2) E. Danil and a Part-time Job
题目链接拖了这么多天,终于把这个题过了。题意:一棵有根树, 每个节点可以是1或者0, 两种操作: 1. pow v: 将v节点的子树中所有节点的值反置(1变0, 0变1, 相当于异或1) 2. get v: 输出v节点的字数中1的个数DFS序+线段树#include<iostream>#include<iomanip&...原创 2019-04-25 13:27:18 · 319 阅读 · 0 评论 -
线段树模板题 HDU 1754 POJ 3468
下面两道题的模板:#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#define inf 1000000000typedef long long ll;using namespace std;const int N=200010;struct...原创 2019-04-20 09:58:28 · 106 阅读 · 0 评论 -
2019南昌ICPC网络赛部分题解 A Subsequence M Subsequence H. Coloring Game K. MORE XOR I Max answer
A Subsequence题意:求前五个完美数。思路:完全数:又称完美数,完备数。所有除了自身以外的约数的和,恰好等于它本身。目前共发现48个完美数。(好像说完美数一定是以6或者8结尾。)前9个完美数分别为:6、28、496、8128、33550336、8589869056、137438691328、2305843008139952128、2658455991569831744654...原创 2019-04-21 14:36:20 · 214 阅读 · 0 评论 -
POJ 1195 Mobile phones 二维树状数组模板题
题意:给出一个全0的矩阵,然后一些操作0 S:初始化矩阵,维数是S*S,值全为0,这个操作只有最开始出现一次1 x y val:对于矩阵的X,Y坐标增加A2 x1 y1 x2 y2:询问(x1,y1)到(x2,y2)区间内值的总和3:结束对这个矩阵的操作 思路:使用二维树状数组进行操作AC_code#include<iostream&g...原创 2018-10-06 09:37:47 · 221 阅读 · 0 评论 -
线段树
转自:线段树从零开始 一:为什么需要线段树?题目一: 10000个正整数,编号1到10000,用A[1],A[2],A[10000]表示。 修改:无 统计:1.编号从L到R的所有数之和为多少? 其中1<= L <= R <= 10000. 方法一:对于统计L,R ,需要求下标从L到R的所有数的和,从L到R的所有下标记做[L..R],问题就是...转载 2018-10-03 10:45:47 · 168 阅读 · 0 评论 -
树状数组
转自:掌握树状数组~彻底入门先贴一下树状数组的模板代码:int lowbit(int i){ return i & -i;//或者是return i-(i&(i-1));表示求数组下标二进制的非0最低位所表示的值}void update(int i,int val)//单点更新{ while(i<=n){ C[i]+=val;...转载 2018-10-03 10:41:02 · 153 阅读 · 0 评论 -
树状数组求逆序数 POJ 2299
转自:https://blog.csdn.net/qq_41105401/article/details/79886166Ultra-QuickSortTime Limit: 7000MS Memory Limit: 65536K Total Submissions: 67410 Accepted: 25241 DescriptionIn thi...转载 2018-07-30 15:23:04 · 218 阅读 · 0 评论 -
树状数组、线段树裸题 HDU1166 敌兵布阵
这题用树状数组和线段树都能做,模板题。题目链接推荐一篇讲树状数组讲得比较好的博客:掌握树状数组~彻底入门推荐一篇讲线段树讲得比较好的博客:线段树从零开始树状数组:(树状数组查询和修改的复杂度都是O(log n))(注意:树状数组维护的区间下标要从1开始,不能从0开始,有些题目的输入是有0的,需要处理一下)#include<algorithm>#include...原创 2018-10-02 15:11:37 · 313 阅读 · 0 评论 -
POJ 3468 线段树区间更新
参考:poj3468(线段树区间更新&区间求和模板)题目链接:http://poj.org/problem?id=3468题意: 输入 n, m表初始有 n 个数, 接下来 m 行输入, Q x y 表示询问区间 [x, y]的和; C x y z 表示区间 [x, y] 内所有数加上 z ;AC_code:#include<iostream&g...原创 2018-10-06 16:51:44 · 262 阅读 · 0 评论