线段树
whiskey_wei
这个作者很懒,什么都没留下…
展开
-
线段树—hdu1166
hdu1166 #include #include using namespace std; struct node { int l,r,n; }t[50005*3]; //一定要是三倍,结构体!!!别问我为什么要强调这个 int sum; void build(int l,int r,int k) { t[k].l=l;t[k].r=r;t[k].n=0; if(l==原创 2017-05-03 19:44:23 · 197 阅读 · 0 评论 -
线段树
原文:http://blog.csdn.net/metalseed/article/details/8039326 一:线段树基本概念 1:概述 线段树,类似区间树,是一个完全二叉树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为O(lgN)! 性质:父亲的区间是[a,b],(c=(转载 2017-05-03 19:48:53 · 186 阅读 · 0 评论 -
hdu1556--刷气球--线段树
Description N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗? Input 每个测试实例第一行为一个整数N,(N <=原创 2017-06-02 17:07:59 · 298 阅读 · 0 评论 -
poj2528线段树+数据离散化
离散化 转自:http://www.cnblogs.com/kevince/p/3893531.html 离散化,就是把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 比如给你n个数:98998988,32434234,433234556,32434234,8384733,…… 让你统计其中每个数出现的次数,传统的做法有好几种,比如一遍一遍的扫过去,比对叠加,这样算转载 2017-11-23 19:44:05 · 254 阅读 · 0 评论