![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构----线段树
文章平均质量分 90
anthony1314
退役acmer 想要找到后端实习的菜鸡
展开
-
hdu1754 I Hate It (线段树)
很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。Input本题目包含多组测试,请处理到文件结束。在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M<500...原创 2018-05-04 13:25:41 · 110 阅读 · 0 评论 -
hdu 2795 Billboard (线段树,找第一个大于w的点)
这道题一开始看,实在想不出跟线段树有什么关系,自己实在是太菜了。给出h*w的广告版。每个广告是1*w的,给出m个广告,要每张广告尽量在上层尽量靠左,输出它所在的高度。假设放不下。就输出-1这里的问题就是h给的非常大,可是 一共仅仅有m个广告,所以即使是一条广告占一条,那么也就仅仅须要m的高度,多余的高度没实用,假设m的高度的不能放下m条广告,那么即使h再高,也放不下,所以n应该是m和h的小...原创 2018-05-04 14:24:44 · 182 阅读 · 0 评论 -
2018 Multi-University Training Contest 2 ---------hdu 6315 Naive Operations【线段树】
Naive OperationsTime Limit: 6000/3000 MS (Java/Others)Memory Limit: 502768/502768 K (Java/Others)Total Submission(s): 853Accepted Submission(s): 318Problem DescriptionIn a galaxy far, f...原创 2018-07-26 11:47:51 · 173 阅读 · 0 评论 -
线段树模板 + 树状数组模板
线段树:1.求区间最大值(hdu1754)#include<bits/stdc++.h>using namespace std;#define inf 200005int grade[inf];struct ndoe{ int l, r, maxn;}tree[inf<<2];int bulid(int root, int l, int r){ t...原创 2019-04-07 01:16:03 · 324 阅读 · 17 评论 -
2019牛客暑期多校训练营(第四场)C sequence【线段树】【单调栈】
题意:给你2个长度为n的区间 a区间和b区间区间的值为b区间之和乘以a区间的最小值,要你求出值最大的区间题目链接:https://ac.nowcoder.com/acm/contest/884/C题解:南昌邀请赛 I题原题QAQ记录下a数组每个点以他为最小值的区间最左边是哪个点,最右边是哪个点,用单调栈进行操作 r[i]表示右边界 l[i]表示左边界用线段树维护前缀...原创 2019-07-27 17:58:18 · 271 阅读 · 0 评论 -
hdu6601 Keen On Everything But Triangle【主席树】【2019 Multi-University Training Contest 2】
题意:给你n个数字,q次查询,每次查询区间l,r之间可以组成三角形的最大周长是多少,没有就输出-1题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6601题解:直接求区间第1大和第2大和第3大,不行组成就往下递推,最差情况就是成斐波那契数列,最多推49次AC_code:#include<bits/stdc++.h&g...原创 2019-08-02 11:02:35 · 226 阅读 · 0 评论 -
模板【树状数组】【线段树】【最大子段和】
树状数组:int bit[MAXN],n,a[MAXN];int lowbit(int x) { return x&(-x);}void add(int i,int x) { while(i<=n) { bit[i]+=x; i+=lowbit(i); }}int sum(int i) { int s=0; while(i>0) { s+=...原创 2019-08-09 11:11:37 · 268 阅读 · 0 评论 -
HDU1542 Atlantis 【线段树】【扫描线入门】
题意给你n个矩形,算出他们覆盖了多少面积思路总结一下扫描线的套路把矩形的上下边 按照 左端点的x坐标 右端点的x坐标 高度 为上位边还是下位边存起来当作扫描线 根据高度排序,从低到高,也就是y坐标把所有x坐标都提取出来 排序离散化线段树维护的节点 为x坐标某个区间内左端点 右端点 下位边的总长度 下位边的数量如果扫描线下标为1~m 循环1 ~ m-1m条扫描线 循...原创 2019-08-10 11:50:19 · 166 阅读 · 0 评论 -
hdu6681 Rikka with Cake【线段树】【离散化】【2019 Multi-University Training Contest 9】
题意:在一个封闭的n*m的矩形内,有k条射线,有四个方向,上下左右,射线,射线的端点不重合,该矩形内有多少个封闭的区域1≤n,m≤1e9,1≤k≤1e51\le n,m \le 1e9 ,1\le k \le 1e51≤n,m≤1e9,1≤k≤1e5没有任意两个个端点的x坐标 或 y坐标相同题解:看图不难观察到 当横向的线与纵向的线产生一个交点的时候,封闭的区域就会增加1于是我们只需要...原创 2019-08-20 10:39:31 · 150 阅读 · 0 评论