线段树&树状数组
LB_莫贺延碛
没智商,没毅力,仅仅有一点点运气。
努力向各位前辈大牛学习。
展开
-
poj 2828 线段树
说实话,作为线段树的第一题,当时确实不知道怎样把题目联系到线段树上。当时首先想到的是用链表做一个队列,自然地就TLE了看别人代码写的,思路有些麻烦(对于我这菜鸟来说==):1.线段树中的每个节点 记录这个区间中的空位置数量。而在处理输入时,需要从后向前处理(因为后面的 人可能会把前面的人的位置抢了),如题目样例:(X代表空位置)i XX(69)XXX原创 2015-05-06 18:08:55 · 746 阅读 · 0 评论 -
poj 3468 线段树延迟标记
思路:使用线段树时,对于有时不需要立即更新的 子区间,可以先将要更新的内容放在 结点的mark标记上,只要使用到这个 子区间的时候,再将子区间的sum值进行更新,这样就可以省去大量时间注意 结点的mark值不为零,说明该区间下的子区间sum值没有更新!#include #include #include #include #include #include usi原创 2015-05-07 15:28:11 · 415 阅读 · 0 评论 -
hdu 1166 敌兵布阵
线段树查询和更新的一道简单题,注意右移>> 和左移代码:#include #include #include #include #include #include using namespace std;const int maxn = 50000 + 10;int tree[maxn * 4]; //线段树,除过叶节点外,其余为所对应区间总人数int casen原创 2015-05-07 15:33:54 · 421 阅读 · 0 评论