[luoguP2184] 贪婪大陆(树状数组)
用两个树状数组,cr 维护 1....x 中 r 的数量
cl 维护 1....x 中 l 的数量
求答案的时候只需要求 y 前面 被作为左端点 的个数 - x 前面 被作为右端点的个数
——代码
#include <cstdio> using namespace std; const int MAXN = ;
int n, m;
int cl[MAXN], cr[MAXN]; inline void add1(int x) { for(; x <= n; x += x & -x) cl[x]++; }
inline void add2(int x) { for(; x <= n; x += x & -x) cr[x]++; }
inline int query1(int x) { int ans = ; for(; x; x -= x & -x) ans += cl[x]; return ans; }
inline int query2(int x) { int ans = ; for(; x; x -= x & -x) ans += cr[x]; return ans; } int main()
{
int i, j, x, y, z;
scanf("%d %d", &n, &m);
for(i = ; i <= m; i++)
{
scanf("%d %d %d", &z, &x, &y);
if(z == )
{
add1(x);
add2(y);
}
else printf("%d\n", query1(y) - query2(x - ));
}
return ;
}
[luoguP2184] 贪婪大陆(树状数组)的更多相关文章
- Cogs 1008. 贪婪大陆(树状数组)
贪婪大陆 难度等级 ★★ 时间限制 1000 ms (1 s) 内存限制 128 MB 测试数据 10 简单对比 输入文件:greedisland.in 输出文件:greedisland.out 简单 ...
- [luogu P2184] 贪婪大陆 [树状数组][线段树]
题目背景 面对蚂蚁们的疯狂进攻,小FF的Tower defence宣告失败……人类被蚂蚁们逼到了Greed Island上的一个海湾.现在,小FF的后方是一望无际的大海, 前方是变异了的超级蚂蚁. 小 ...
- P2184 贪婪大陆 树状数组
树状数组帅炸了....又被一道水题轻虐,又被学长指出了一个错误....我太菜了QAQ 开两个树状数组,一个记录左端点,一个记录右端点: 共有cnt(总数) - (<l的右端点数目) - (> ...
- COGS1008. 贪婪大陆[树状数组 模型转换]
1008. 贪婪大陆 ★★ 输入文件:greedisland.in 输出文件:greedisland.out 简单对比时间限制:1 s 内存限制:128 MB 试题四:贪婪大陆 [题 ...
- luoguP2184 贪婪大陆 题解(树状数组)
P2184 贪婪大陆 题目 其实很容易理解就是询问一段区间内有多少段不同的区间 然后再仔细思索一下会发现: 1.只要一个区间的开头在一个节点i的左边,那么这个区间包含在区间1~i中. 2.只要一个区 ...
- BZOJ 1103: [POI2007]大都市meg [DFS序 树状数组]
1103: [POI2007]大都市meg Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2221 Solved: 1179[Submit][Sta ...
- bzoj1878--离线+树状数组
这题在线做很麻烦,所以我们选择离线. 首先预处理出数组next[i]表示i这个位置的颜色下一次出现的位置. 然后对与每种颜色第一次出现的位置x,将a[x]++. 将每个询问按左端点排序,再从左往右扫, ...
- codeforces 597C C. Subsequences(dp+树状数组)
题目链接: C. Subsequences time limit per test 1 second memory limit per test 256 megabytes input standar ...
- BZOJ 2434: [Noi2011]阿狸的打字机 [AC自动机 Fail树 树状数组 DFS序]
2434: [Noi2011]阿狸的打字机 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 2545 Solved: 1419[Submit][Sta ...
随机推荐
- nodejs on raspi
一. https://cnodejs.org/topic/54032efa9769c2e93797cd06 其中的 “安装Node.js” 一节 注意事项: 1. 它用的是v0.10.26(很早的版本 ...
- List的深度copy和浅度拷贝
List<Student> list= Arrays.asList( new Student("Fndroid", 22, Student.Sax.MALE, 180) ...
- java 获取ip地址
1.使用WIFI 首先设置用户权限 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"& ...
- QTP自动FlightReservation小程序,数据库被玩坏了~~~
1.尝试使用CheckPointOnDataBase功能. 2.选中自带的数据库 3.执行Delete * from Orders; 如下图: 4.再次使用FlightReservation的时候,不 ...
- 工作中Docker使用命令笔记
docker安装与启动 安装docker [root@localhost /]# yum -y install docker-io 更改配置文件 [root@localhost /]# vi /etc ...
- 深度剖析 MySQL 事务隔离
概述 今天主要分享下MySQL事务隔离级别的实现原理,因为只有InnoDB支持事务,所以这里的事务隔离级别是指InnoDB下的事务隔离级别. 隔离级别 读未提交:一个事务可以读取到另一个事务未提交的修 ...
- QT +菜单栏和工具栏
#include "mainwindow.h" #include <QMenuBar>//菜单栏需要的头文件 #include <QMenu>//菜单 #i ...
- HTML 5 <a> 标签
href 属性 定义和用法 href 属性规定链接的目标地址. 如果未使用 href 属性,则 <a> 标签不是链接,而是链接的占位符. HTML 4.01 与 HTML 5 之间的差异 ...
- python+Eclipse+pydev环境搭建1
编辑器: Eclipse + pydev插件 1. Eclipse是写JAVA的IDE, 这样就可以通用了,学习代价小. 学会了Eclipse, 以后写Python或者JAVA 都可以. 2. Ec ...
- select onchange事件的使用
<select name="expireDay" id="expireDay" class="form-control" onchan ...