不要读歪题了,每个地雷都是不同的,一开始思考的是地雷可能重复,那么这题难度就骤然下降.实际上是在查询区间[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 贪婪大陆(线段树)相关推荐

  1. 洛谷 P2184 贪婪大陆 解题报告

    P2184 贪婪大陆 题目背景 面对蚂蚁们的疯狂进攻,小\(FF\)的\(Tower\) \(defence\)宣告失败--人类被蚂蚁们逼到了\(Greed\) \(Island\)上的一个海湾.现在 ...

  2. lugou P2184 贪婪大陆(线段树)

    题目描述 小 FF 最后一道防线是一条长度为 nn 的战壕,小 FF 拥有无数多种地雷,而 SCV 每次可以在 [L, R]区间埋放同一种不同于之前已经埋放的地雷.由于情况已经十万火急,小 FF 在某 ...

  3. 【洛谷】P2184 贪婪大陆

    题目地址: https://www.luogu.com.cn/problem/P2184 题目背景: 面对蚂蚁们的疯狂进攻,小FF的Tower defence宣告失败--人类被蚂蚁们逼到了Greed ...

  4. P2184 贪婪大陆

    题目背景 面对蚂蚁们的疯狂进攻,小FF的Tower defence宣告失败--人类被蚂蚁们逼到了Greed Island上的一个海湾.现在,小FF的后方是一望无际的大海, 前方是变异了的超级蚂蚁. 小 ...

  5. P2184 【贪婪大陆】

    看到全是线段树或者树状数组写法,就来提供一发全网唯一cdq分治三维偏序解法吧 容易发现,这个题的查询就是对于每个区间l,r,查询有多少个修改区间li,ri与l,r有交集 转化为数学语言,就是查询满足l ...

  6. 二逼平衡树——树套树(线段树套Splay平衡树)

    题面 Bzoj3196 解析 线段树和Splay两棵树套在一起,常数直逼inf,但最终侥幸过了 思路还是比较简单, 在原数组维护一个下标线段树,再在每一个线段树节点,维护一个对应区间的权值Splay. ...

  7. 线段树——HDU - 1698

    题目含义 就是初始化一堆数为1 可以经过操作把一个区间的数都改变 并求这堆数的总大小 题目分析 有一个 #include<iostream> #include<stdio.h> ...

  8. BZOJ.1558.[JSOI2009]等差数列(线段树 差分)

    BZOJ 洛谷 首先可以把原序列\(A_i\)转化成差分序列\(B_i\)去做. 这样对于区间加一个等差数列\((l,r,a_0,d)\),就可以转化为\(B_{l-1}\)+=\(a_0\),\(B ...

  9. 【线段树分治 线性基】luoguP3733 [HAOI2017]八纵八横

    不知道为什么bzoj没有HAOI2017 题目描述 Anihc国有n个城市,这n个城市从1~n编号,1号城市为首都.城市间初始时有m条高速公路,每条高速公路都有一个非负整数的经济影响因子,每条高速公路 ...

  10. [bzoj1582][Usaco2009 Hol]Holiday Painting 节日画画_线段树

    Holiday Painting 节日画画 bzoj-1582 Usaco-2009 Hol 题目大意:给定两个n*m的01网格图.q次操作,每次将第二个网格图的子矩阵全部变成0或1,问每一次操作后两 ...

最新文章

  1. java 按钮不显示文字_java – 使JButton中的文本不可见
  2. 纳米技术系列:物联网的下一个大事件竟来自极小之处
  3. webservice、WSDL简介
  4. 嵌入式Servlet容器
  5. python逢七拍手游戏_不学Python迟早会被淘汰?Python真有这么好的前景?
  6. python 调用dll 参数_python调用dll
  7. python exec函数 自动代码规范_Python 开发编码规范
  8. GIS案例练习-----------第一天
  9. 大数据Spark(五十二):Structured Streaming 事件时间窗口分析
  10. axios 上传文件 封装_axios 封装上传文件的请求方法
  11. Elasticsearch nested嵌套类型
  12. 开源软件漏洞升级步骤
  13. 自制密码生成器1.0
  14. 结合泛函极值_泛函极值及变分法讲义.doc
  15. 灰色预测模型GM(1,1) 与例题分析
  16. 倍福PLC和C#通过ADS通信传输int类型变量
  17. C语言库函数— qsort () 详解
  18. 【电力系统】经济调度、最优潮流、机组组合
  19. 【疫情分析--数据采集】
  20. 会计初级系统计算机怎么样,原来初级会计题库有这么多作用 一文一探究竟!(电脑版)...

热门文章

  1. 数值算法之adjacent_difference
  2. 基于Spark的公安大数据实时运维技术实践
  3. “新”在哪 | 解密新型云计算数据中心三大关键词
  4. LSF COMMAND bhist
  5. 遇到U盘无法打开,属性显示0字节这样的问题?数据该如何导出?
  6. openlayer制作专题图
  7. FreeRTOS学习笔记(11)——CPU使用率统计
  8. vba 定义类_excel编程系列基础:认识VBA的编辑器VBE
  9. 线代 006 克拉默法则 线性方程组求解
  10. python unpack_python struct中pack和unpack