线段树
欧莎
啦啦啦,啦啦啦,让我们一起洗刷刷
展开
-
线段树模板以及对线段树的理解
//线段树模板 struct line { int left,right;//左端点、右端点 int n;//记录这条线段出现了多少次,默认为0 }; struct line a[100]; int sum; //建树 void build(int s,int t,int n) { int mid=(s+t)/2; a[n].left=s; a[n].right=t; if (s==t) retur原创 2016-07-30 16:51:29 · 406 阅读 · 0 评论 -
hdu 1754 I Hate it(线段树的单节点更新,求区间最大值)
Problem Description 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。Input 本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和 M ( 0#include<std原创 2016-08-06 11:39:29 · 245 阅读 · 0 评论 -
hdu 1166 (线段树单节点更新,区间和)
点击打开链接http://acm.hdu.edu.cn/showproblem.php?pid=1166 题意在这里我就不说了,感觉好坑啊,因为最后的输出格式就一直错因为,我没有加 :这个符号 这是简单的线段树题,主要就体现了,建树 ,更新,查询的功能,不是太理解,看模板打下来的。还能算是理解点,以后慢慢深入吧 嘿 ,看我的代码,希望能够帮助你哦 !!!!!!!!原创 2016-08-04 18:06:54 · 214 阅读 · 0 评论 -
hud 1255 覆盖的面积(线段树+离散化)
题目的意思就不用再翻译了我也是第一次接触离散化,所以理解的也不怎么样。 离散化,把无限空间中无限的个体映射到有限的空间中去,以此提高算法的时空效率。离散化是程序设计中一个非常常用的技巧,它可以有效的降低时间和空间复杂度。其基本思想就是在众多可能的情况中“只考虑我需要用的值”。下面我将用三个例子说明,如何运用离散化改进一个低效的,甚至根本不可能实现的算法。 《算法艺术与信息学竞赛》中的计算几何部分原创 2016-08-31 15:51:40 · 368 阅读 · 0 评论 -
hdu 4267 A Simple Problem with Integers(线段树区间更新)
题目链接点这里#include<stdio.h> #include<algorithm> #include<iostream> #define LL long long using namespace std; const int N=110000; LL num[N]; LL Sum; struct node { LL l; LL r; LL sum; LL add原创 2016-09-01 10:07:35 · 249 阅读 · 0 评论