BIT
Lei2015_
这个作者很懒,什么都没留下…
展开
-
CodeForces Round 218 D. Vessels(学姐我没用线段树系列)
这道题的意思是给你一个水塔,可以从中间任意一层倒水,告诉你每一层的容量,这一曾层满后水会流入下一层,总共有N层,再满了就直接流到地上。然后给出N个操作操作1:往第n层中加x的水操作2:询问每一层装有多少水用BIT保存所剩空间的前缀和,每次加水的时候二分最终水会流到哪一层,然后加水的时候依次更新BIT,虽然式单点更新但是每一次更新都会直接把该层的空间沾满,下一次不会再更新,所以总共是O(原创 2013-12-08 22:59:15 · 1034 阅读 · 0 评论 -
POJ 2299 再水一发数状数组求逆序数
这道题用 map 来离散化又T了。。想起来了有一次 CF 怕直接开数组过大使用 map 结果T了的悲剧故事。。。能用数组 hash 的坚决不用 map#include#include#include#include#include#includeusing namespace std;#define ll long long ll bit[1000000];#defin原创 2014-02-04 12:58:19 · 543 阅读 · 0 评论 -
HDU 3874 树状数组 边查询边更新
树状数组的好题,对于一对查询,边查询边更新。那个只能出现一个这个条件就是更新每次把上一次出现的地方的东西消灭掉,换成最新的这个地方的。第一次做这种边查询,边更新的题目呢。好题!HDU 上要用 I64 代替 lld 啊 真不习惯#include #include #include #include using namespace std;#define MAX原创 2014-02-24 22:05:57 · 429 阅读 · 0 评论 -
wata 哥 的 vector<MAX> G 第一次不能用 POJ 3321 树状数组
关键是括号序列啊还有,括号序列上一段代表一棵树,一个点还是代表一个点。用指针表示图#include #include #include #include #include #include #include #include using namespace std;#define ll long long#define P pair#define PDI pai原创 2014-02-27 01:55:15 · 607 阅读 · 0 评论 -
Codeforces Round 232 Div 1 C On Changing Tree 树状数组 或 线段树
题目地址http://codeforces.com/problemset/problem/396/C树状数组,对于搞括号序列还是有一手的,关键是因为括号序列的题老是逮着某个点询问,而他的更新又往往是涉及一棵子树。当然,树状数组的更新也要满足可加性的。对于向某棵子树上的节点均增加 X 这种操作,我们可以在括号序列的左端点增加x,右端点+1处增加 -x,这样查询到内部的时候就会增加x,原创 2014-02-28 22:33:48 · 580 阅读 · 0 评论 -
POJ 1195 二维树状数组
模板#include #include #include #include #include #include #include #include using namespace std;#define ll long long#define P pair#define PDI pair#define fst first#define sec second#de原创 2014-03-02 15:58:59 · 601 阅读 · 0 评论 -
POJ 2761 据说可以练习线段树主席树划分树splay和treap的一道题。。我用BIT+二分+离散化搞的。。
查询区间第 K 小的数,这个二分+树状数组足够了啊。虽然我是想练练treap 的,但是看到能写 BIT 就停不下来啊。。。离散化好恶心。。。用map T 到死。还有大于1000W 的数数组开不下,只能 hash。找了两三个素数才过的去。hash的时候素数不是越大越好啊。。?中途开了好多个struct来保存信息。。。#include #include #include原创 2014-03-08 17:26:34 · 871 阅读 · 0 评论