
线段树
文章平均质量分 79
做不完的ACM
加油,努力
展开
-
Codeforces895E
题目链接:http://codeforces.com/contest/895/problem/E题意:给出一段区间有两种操作。1. 任选L1-R1的一个数,L2-R2的一个数,保证两端区间无交集,将这2个数交换。2.给出L,R,问L,R区间和的数学期望。题解: 先考虑左部分区间,假设其总和为sum1, 长度为len1, 右部分区间总和为sum2,长度为len2。那原创 2017-12-02 21:30:18 · 268 阅读 · 0 评论 -
Codeforces981E
题目链接:http://codeforces.com/contest/981/problem/E题意:给出若干个操作,问任意选出这些操作的子集,最大值的在1-n的有多少种可能。题解:那就是我其实只需要最后去看一下能否凑成即可 不需要考虑是否是最大 因为在选择的时候我们可以任选子集 可以尝试 好一个数通过好多次加法之后他不是最大的 那么一定构造不出。直接在线段树是跑bitset即可,复杂度(N*Lo...原创 2018-06-01 00:59:58 · 413 阅读 · 0 评论 -
HDU4417
题目大意为给定一个长度为n的区间,同时给出m个询问,每次询问在区间[l,r]中有多少个数小于或等于k。同样考虑用主席树来维护,每次只需要找到序列b中第一个等于k的数,那么要求的数必定在b[1]~b[upper_bound(k)]这个范围内,接下来就像线段树统计区间个数那样,若完全包含则直接加上e[rr].sum-e[ll].sum,否则就分两边递归统计。而建树什么的就直接套模板即可。还要注意一点,...原创 2018-05-24 01:09:43 · 622 阅读 · 0 评论 -
Codeforces960F
【题目】F. Pathwalks【题意】给定n个点m条边的有向图,可能不连通有重边有自环。每条边有编号 i 和边权 wi ,求最长的路径(可以经过重复节点)满足编号和边权都严格递增。n,m,wi<=10^5。【算法】主席树+DP【题解】这个和LIS十分类似,只要在考虑LIS的树状数组做法的前提下多考虑节点搭配问题,即f[i]=f[j]+1还需要e[j].v=e[i].u。所以对每个节点建可持...原创 2018-05-24 02:17:57 · 208 阅读 · 0 评论 -
HDU6183(动态开点线段树)
题目链接题目大意:有四种操作。 0:清除所有点 1 x y c:给点(x,y)添加一种颜色c 2 x y1 y2:在(0,y1)与(x,y2)所围成的矩形里有多少种颜色 3:程序结束笔记注意这里一个点可以有很多种颜色,是不会被覆盖的。 颜色最多51种。我们就建51棵线段树。 每个线段树按y轴建树,每个结点的值是在范围内的最小的x值 ps:看了cls(claris)的cpp感觉学到了姿势啊。orz....原创 2018-05-27 02:04:48 · 1253 阅读 · 0 评论 -
hrbust2371权值线段树+并查集
题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2371讲解视频:https://www.bilibili.com/video/av16552942?from=search&seid=6401426487448027126题解:权值线段树+并查集很水,众人皆知。#in...原创 2018-05-21 21:04:57 · 273 阅读 · 1 评论 -
2018年湘潭大学程序设计竞赛 H线段树染色
链接:https://www.nowcoder.com/acm/contest/105/H来源:牛客网题目描述n个桶按顺序排列,我们用1~n给桶标号。有两种操作: 1 l r c 区间[l,r]中的每个桶中都放入一个颜色为c的球 (1≤l,r ≤n,l≤r,0≤c≤60) 2 l r 查询区间[l,r]的桶中有多少种不同颜色的球 (1≤l,r ≤n,l≤r)输入描述:有多组数据,对于每...原创 2018-04-26 23:15:34 · 188 阅读 · 0 评论 -
Codeforces 980E(树上贪心倍增)
题目链接: http://codeforces.com/contest/980/problem/EE. The Number Gamestime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe nation of Panel holds an a...原创 2018-05-09 22:54:33 · 1475 阅读 · 0 评论 -
Codeforces895E
题目链接:http://codeforces.com/contest/895/problem/E题意:给出一段区间有两种操作。1. 任选L1-R1的一个数,L2-R2的一个数,保证两端区间无交集,将这2个数交换。2.给出L,R,问L,R区间和的数学期望。题解: 先考虑左部分区间,假设其总和为sum1, 长度为len1, 右部分区间总和为sum2,长度为len2。那么对于左区间随机一个数x,进行操...原创 2018-03-22 10:05:00 · 126 阅读 · 0 评论 -
Codeforces 915E 线段树动态开点
#include namespace fastIO { #define BUF_SIZE 10000000 //fread -> read bool IOerror = 0; inline char nc() { static char buf[BUF_SIZE], *p1 = buf + BUF_SIZE, *pend = buf + BUF_原创 2018-01-20 22:30:34 · 328 阅读 · 0 评论 -
POJ2528 线段树离散化
题意:在墙上贴海报,海报可以互相覆盖,问最后可以看见几张海报思路:这题数据范围很大,直接搞超时+超内存,需要离散化:离散化简单的来说就是只取我们需要的值来用,比如说区间[1000,2000],[1990,2012]我们用不到[-∞,999][1001,1989][1991,1999][2001,2011][2013,+∞]这些值,所以我只需要1000,1990,2000,2012就够了原创 2018-01-20 22:29:31 · 190 阅读 · 0 评论 -
POJ3667 线段树
题目链接:https://vjudge.net/problem/POJ-3667o 题意:1 a:询问是不是有连续长度为a的空房间,有的话住进最左边2 a b:将[a,a+b-1]的房间清空思路:记录区间中最长的空房间线段树操作:update:区间替换query:询问满足条件的最左断点代码:#include #include #include #inclu原创 2018-01-20 22:28:16 · 150 阅读 · 0 评论 -
带限制的单点线段树
题目链接:http://codeforces.com/contest/920/problem/F题解:因为更新必须是单点更新,每个数变化的次数是一定的,当他变化成2时(需要特殊考虑1),则没必要继续更新,有限制,所以更新不是每次都要到单点。#include using namespace std;#define SZ(X) ((int)X.size())#define pb pus原创 2018-02-03 15:37:45 · 141 阅读 · 0 评论 -
线段树暴力修改HDU5930
先占坑,这题实在不会。。。。#include #include #include using namespace __gnu_pbds;using namespace std;#define SZ(X) ((int)X.size())#define mp make_pair#define pb push_back#define RALL(X) X.rbe原创 2018-01-26 23:40:18 · 293 阅读 · 0 评论 -
Codeforces915E Physical Education Lessons
题目链接:http://codeforces.com/contest/915/problem/E题意:初始化区间1~N,全为1,N是1E9级别,Q个操作与询问。对于当前询问输出1~N还有多少个1。操作1:把L-R这段区间全变0操作2:吧L-R这段区间全变1题解:把区间左右端点暴力存在set里, 对于当前l,r在set里二分下找到第一个在他右边的区间。首先不管K=1还是K=2,都原创 2018-01-15 17:57:01 · 615 阅读 · 0 评论 -
树状数组+贪心
小黑的树Description 小H是个怕黑的人,小H的爱慕者小Z斥巨资给小H在宿舍和实验室之间修路灯。为了满足小H的审美,小Z规定只能在整数位置修路灯,并且每个整数位置都只能有一个路灯。在小H的认知里,有m个路段是非常黑的,所以之少要安装一定数量的路灯。小H未来将会是一个贴心的女朋友,她想计算出小Z最少会为她安装多少路灯。Input 第一行一个整数T(1<=T&...原创 2018-07-21 09:06:23 · 214 阅读 · 0 评论