
数据结构
数据结构
FILWY_M
一只正在慢慢成长的小菜鸡.......
展开
-
HDU-1705 What Are You Talking About(字典树、STL)
这道题有两种做法,第一种是字典树,相当于一个字典树的模板题了 用string来存对应的单词,然后构建字典树,在每个单词的最后要标记结束,然后把相应的单词存进string 也就是我的程序里面的dic里 注意:字典树的指针p一定要从1开始 #include <iostream> #include<cstring> #include<cstdio> #include&...原创 2019-07-29 10:16:28 · 193 阅读 · 0 评论 -
power oj 2821 小Y学长的GCD难题(线段树)
题目传送 很明显的线段树,不过需要判断一下gcd #include <iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<climits> #include<vector> #include<queue> #includ...原创 2019-07-27 09:47:02 · 174 阅读 · 0 评论 -
Power OJ 2374:查询成绩(线段树,快速幂,素数判断)
传送门 线段树模板题,还融入了快速幂和素数判断,就是一个模板题,并不难,在做的时候要细心,判断x^x%mod是不是素数,在做的时候我看成了判断x是不是素数,有事一顿狂找bug,所以读题要仔细仔细再仔细。 #include <iostream> #include<cstring> #include<cstdio> #include<algorithm&g...原创 2019-07-23 10:41:10 · 175 阅读 · 0 评论 -
POJ 1541 Stars(树状数组)
题目传送门 才入门树状数组,没有搞懂这个题和树状数组有什么联系,其实这个题虽然给的是一个二维的图,但是可以把它放到一维来看,首先他给出的x,y是有顺序的,y一定的时候,后面给出的一定比前面的level高,而这里的y一定的情况下按照x的顺序排列,所以就可以把他当成一个x轴 下面用题目的样例来解释 5 1 1 5 1 7 1 3 3 5 5 首先y等于1的时候,输入x 这个时候查找x前面所有的和...原创 2019-07-26 19:55:20 · 141 阅读 · 0 评论 -
POJ3468 A Simple Problem with Integers(线段树,区间值求和)
传送门:A Simple Problem with Integers 初学线段树,这是第一道入门题,看了https://www.cnblogs.com/iris001999/articles/9058603.html和https://blog.youkuaiyun.com/zearot/article/details/52280189两位博主写的博客算是基本上懂了线段树的原理了。下面就代码就是记录一下,代码...原创 2019-07-22 20:19:48 · 104 阅读 · 0 评论 -
POJ 2528 Mayor's posters(线段树,离散化,区间染色问题变形)
由于这面墙的长度是1e7,所给的范围太大,如果直接建树回超内存,所以考虑用离散化,因为这里只有10000个人,就算是每个人的海报都不相交,最多也就只会用2*n个点; 离散化详解 离散化过后的问题实际上就变成了了区间染色的问题(区间染色问题可以看这个大佬的博客讲的很详细),最开始墙没有贴海报,这里就把lazy全部标记为0,然后区间更新,如果这个区间贴有海报c,就把这个区间的lazy更新为c,全部更新...原创 2019-07-26 10:45:02 · 149 阅读 · 0 评论 -
洛谷P2023 [AHOI2009]维护序列(线段树维护加和乘)
传送门 题意就是给你一系列数字,有3中操作 给你一个区间,将这个区间里面的所有数字全部乘以一个给定值c 给你一个区间,将这个区间里面的所有数字全部加上一个给定值c 给你一个区间,询问这个区间的和 **这道题要用线段树维护一个加,一个乘 lazy0维护的是加 lazy1维护的是乘 任何的一个x对它进行乘和加的操作最终结果总可以写成形如ax+b的形式, 在这里的a就是我们需要维护的乘了, 显然b就...原创 2019-07-25 15:34:31 · 170 阅读 · 0 评论 -
Power OJ 2825:拔河大赛(并查集)
传送门 这道题要检查两个人之间是不是互相认识,很明显这里需要用到并查集的知识,只是在这里我们要维护一下队伍的人数和队伍的最大编号 思路:我们在这里要多开两个数组,一个是用来维护队伍人数的cnt,一个是维护对应的队伍人数下该队里面编号最大的ans,我们在并查集去检查两个人之间是否认识的时候,如果不认识,继续判断一下他们的根节点谁大,在这里我们把根节点小的改成根节点大的,然后把以根节点为下标的cnt他...原创 2019-08-02 19:57:09 · 204 阅读 · 0 评论 -
HDU 4825 Xor Sum(01字典树)
传送门 #include <iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<climits> #include<vector> #include<queue> #include<string> #incl...原创 2019-07-29 15:38:08 · 153 阅读 · 0 评论 -
HDU - 1166 敌兵布阵(树状数组、线段树)
题目链接 树状数组 #include <iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<climits> #include<vector> #include<queue> #include<string>...原创 2019-07-29 14:38:45 · 146 阅读 · 0 评论 -
POJ3264Balanced Lineup(线段树&&RMQ)
题目传送门 题意就是给你n个数,然后q次询问,每一次给你一个区间(l,r),让你输出这个区间的最大值与最小值之差,一般做法通过遍历这个区间的每一个数肯定是不行的,因为n非常大会超时 这种题有两种做法,一种是RMQ(Range Minimum/Maximum Query),即区间最值查询,是一种dp动态规划的方式,可以看这个博主的博客讲的很详细还有一种做法就是线段树。 方法一RMQ #inclu...原创 2019-07-23 15:34:09 · 174 阅读 · 0 评论