P2184 贪婪大陆(线段树)
不要读歪题了,每个地雷都是不同的,一开始思考的是地雷可能重复,那么这题难度就骤然下降.实际上是在查询区间[L,R][L,R][L,R]包含多少种不同的区间。
考虑查询的区间为:[L,R][L,R][L,R]
考虑区间[l,r][l,r][l,r],如果l<=Rl<=Rl<=R,那么该区间可能与[L,R][L,R][L,R]相交.那么不能相交的情况就是那些r<Lr<Lr<L的情况,需要扣掉这部分的区间
考虑用两个树状数组维护以上信息,第一个维护lll的前缀和,第二个维护rrr的前缀和.
对于每次查询,输出tree1[R]−tree2[L−1]tree1[R]-tree2[L-1]tree1[R]−tree2[L−1]
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e6+5;
const int INF = 1e9+7;
typedef long long ll;
typedef pair<int,int> pii;
#define all(a) (a).begin(), (a).end()
#define pb(a) push_back(a)
vector<int> G[maxn];
int tr1[maxn],tr2[maxn];
int n,m;
void update(int *tr,int x){for(int i=x;i<=n;i+=(i&(-i))){tr[i]++;}
}
int query(int *tr,int x){int ans = 0;for(int i=x;i>0;i-=(i&(-i))){ans+=tr[i];}return ans;
}
int main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin>>n>>m;while(m--){int op;cin>>op;if(op==1){int l,r;cin>>l>>r;update(tr1,l);update(tr2,r);}else{int l,r;cin>>l>>r;cout<<query(tr1,r) - query(tr2,l-1)<<"\n";}}
}
P2184 贪婪大陆(线段树)相关推荐
- 洛谷 P2184 贪婪大陆 解题报告
P2184 贪婪大陆 题目背景 面对蚂蚁们的疯狂进攻,小\(FF\)的\(Tower\) \(defence\)宣告失败--人类被蚂蚁们逼到了\(Greed\) \(Island\)上的一个海湾.现在 ...
- lugou P2184 贪婪大陆(线段树)
题目描述 小 FF 最后一道防线是一条长度为 nn 的战壕,小 FF 拥有无数多种地雷,而 SCV 每次可以在 [L, R]区间埋放同一种不同于之前已经埋放的地雷.由于情况已经十万火急,小 FF 在某 ...
- 【洛谷】P2184 贪婪大陆
题目地址: https://www.luogu.com.cn/problem/P2184 题目背景: 面对蚂蚁们的疯狂进攻,小FF的Tower defence宣告失败--人类被蚂蚁们逼到了Greed ...
- P2184 贪婪大陆
题目背景 面对蚂蚁们的疯狂进攻,小FF的Tower defence宣告失败--人类被蚂蚁们逼到了Greed Island上的一个海湾.现在,小FF的后方是一望无际的大海, 前方是变异了的超级蚂蚁. 小 ...
- P2184 【贪婪大陆】
看到全是线段树或者树状数组写法,就来提供一发全网唯一cdq分治三维偏序解法吧 容易发现,这个题的查询就是对于每个区间l,r,查询有多少个修改区间li,ri与l,r有交集 转化为数学语言,就是查询满足l ...
- 二逼平衡树——树套树(线段树套Splay平衡树)
题面 Bzoj3196 解析 线段树和Splay两棵树套在一起,常数直逼inf,但最终侥幸过了 思路还是比较简单, 在原数组维护一个下标线段树,再在每一个线段树节点,维护一个对应区间的权值Splay. ...
- 线段树——HDU - 1698
题目含义 就是初始化一堆数为1 可以经过操作把一个区间的数都改变 并求这堆数的总大小 题目分析 有一个 #include<iostream> #include<stdio.h> ...
- BZOJ.1558.[JSOI2009]等差数列(线段树 差分)
BZOJ 洛谷 首先可以把原序列\(A_i\)转化成差分序列\(B_i\)去做. 这样对于区间加一个等差数列\((l,r,a_0,d)\),就可以转化为\(B_{l-1}\)+=\(a_0\),\(B ...
- 【线段树分治 线性基】luoguP3733 [HAOI2017]八纵八横
不知道为什么bzoj没有HAOI2017 题目描述 Anihc国有n个城市,这n个城市从1~n编号,1号城市为首都.城市间初始时有m条高速公路,每条高速公路都有一个非负整数的经济影响因子,每条高速公路 ...
- [bzoj1582][Usaco2009 Hol]Holiday Painting 节日画画_线段树
Holiday Painting 节日画画 bzoj-1582 Usaco-2009 Hol 题目大意:给定两个n*m的01网格图.q次操作,每次将第二个网格图的子矩阵全部变成0或1,问每一次操作后两 ...
最新文章
- java 按钮不显示文字_java – 使JButton中的文本不可见
- 纳米技术系列:物联网的下一个大事件竟来自极小之处
- webservice、WSDL简介
- 嵌入式Servlet容器
- python逢七拍手游戏_不学Python迟早会被淘汰?Python真有这么好的前景?
- python 调用dll 参数_python调用dll
- python exec函数 自动代码规范_Python 开发编码规范
- GIS案例练习-----------第一天
- 大数据Spark(五十二):Structured Streaming 事件时间窗口分析
- axios 上传文件 封装_axios 封装上传文件的请求方法
- Elasticsearch nested嵌套类型
- 开源软件漏洞升级步骤
- 自制密码生成器1.0
- 结合泛函极值_泛函极值及变分法讲义.doc
- 灰色预测模型GM(1,1) 与例题分析
- 倍福PLC和C#通过ADS通信传输int类型变量
- C语言库函数— qsort () 详解
- 【电力系统】经济调度、最优潮流、机组组合
- 【疫情分析--数据采集】
- 会计初级系统计算机怎么样,原来初级会计题库有这么多作用 一文一探究竟!(电脑版)...
热门文章
- 数值算法之adjacent_difference
- 基于Spark的公安大数据实时运维技术实践
- “新”在哪 | 解密新型云计算数据中心三大关键词
- LSF COMMAND bhist
- 遇到U盘无法打开,属性显示0字节这样的问题?数据该如何导出?
- openlayer制作专题图
- FreeRTOS学习笔记(11)——CPU使用率统计
- vba 定义类_excel编程系列基础:认识VBA的编辑器VBE
- 线代 006 克拉默法则 线性方程组求解
- python unpack_python struct中pack和unpack