乍一不咋会

╭(╯3╰)╮

把地雷L到R看成一条线段

要求的就是区间内有多少条线段经过

很明显是要用[1,R]内的起点个数-[1,L-1]的终点个数

然后这起点和终点个数可以用简单的差分线段树来维护一下

其实树状数组更适合一些

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#define ls rt<<1
#define rs rt<<1|1
using namespace std;
const int maxn = 1e5 + 7;
const int maxm = 4e5 + 7; int n, m;
struct node {
int l, r, size;
int sum;
};
struct seg_tree {
node e[maxm];
void pushup(int rt) {
e[rt].sum = e[ls].sum + e[rs].sum;
}
void build(int l, int r, int rt) {
e[rt].l = l, e[rt].r = r;
if (l == r) {
return;
}
int mid = (l + r) >> 1;
build(l, mid, ls);
build(mid + 1, r, rs);
pushup(rt);
} void update(int L, int rt) {
if (e[rt].l == e[rt].r) {
e[rt].sum++;
return;
}
int mid = (e[rt].l + e[rt].r) >> 1;
if (L <= mid) update(L, ls);
else update(L, rs);
pushup(rt);
} int query(int L, int R, int rt) {
if (L <= e[rt].l && e[rt].r <= R) {
return e[rt].sum;
}
int mid = (e[rt].l + e[rt].r) >> 1, ans = 0;
if (L <= mid) ans += query(L, R, ls);
if (R > mid) ans += query(L, R, rs);
pushup(rt);
return ans;
}
} seg1, seg2; int read() {
int x = 0, f = 1; char s = getchar();
for (; s > '9' || s < '0'; s = getchar()) if (s == '-') f = -1;
for (; s >= '0' && s <= '9'; s = getchar()) x = x * 10 + s - '0';
return x * f;
} int main() {
int n = read(), m = read();
seg1.build(1, n, 1);
seg2.build(1, n, 1);
for (; m--;) {
int tmp = read(), x = read(), y = read();
if (tmp == 1) {
seg1.update(x,1);
seg2.update(y,1);
} else {
int ans = seg1.query(1,y,1) - seg2.query(1,x-1,1);
printf("%d\n", ans);
}
}
return 0;
}

luogu P2184 贪婪大陆的更多相关文章

  1. [luogu P2184] 贪婪大陆 [树状数组][线段树]

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

  2. P2184 贪婪大陆

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

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

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

  4. 洛谷P2184 贪婪大陆

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

  5. P2184 贪婪大陆 树状数组

    树状数组帅炸了....又被一道水题轻虐,又被学长指出了一个错误....我太菜了QAQ 开两个树状数组,一个记录左端点,一个记录右端点: 共有cnt(总数) - (<l的右端点数目) - (> ...

  6. 洛谷 P2184 贪婪大陆

    题面 又是一类比较套路的题呢? 假如我们的地雷都表示成 [l[i],r[i]] ,要求[L,R],那么就相当于要求满足 (l[i]<=R && r[i]>=L)的i的个数. ...

  7. 洛谷P2184——贪婪大陆

    传送门:QAQQAQ 题意:给一个长度为$n$的区间,每次可以进行两种操作: 1.在$[l,r]$这个区间里放置一个和之前种类不同的炸弹 2.查询在$[l,r]$区间内有多少种不同种类的炸弹 思路:第 ...

  8. luoguP2184 贪婪大陆 题解(树状数组)

    P2184 贪婪大陆  题目 其实很容易理解就是询问一段区间内有多少段不同的区间 然后再仔细思索一下会发现: 1.只要一个区间的开头在一个节点i的左边,那么这个区间包含在区间1~i中. 2.只要一个区 ...

  9. AC日记——贪婪大陆 洛谷 P2184

    贪婪大陆 思路: 树状数组: 跪烂.. 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 int ...

随机推荐

  1. VUE 使用之:nextTick

    <div class="app"> <div ref="msgDiv">{{msg}}</div> <div v-if ...

  2. linux基础(1)-终端&shell类型&命令&文件系统&命令帮助的获取

    终端 用于与主机交互,必然用到的设备. 物理终端 直接接入本机的显示器和键盘设备:Console. 虚拟终端 附加在物理终端之上的以软件方式虚拟实现的终端,CentOS 6 默认启动 6 个虚拟终端. ...

  3. vue-watch

    <template> <div> <!-- 监听值的改变: --> <button class="th" @click="add ...

  4. SVN: is scheduled for addition, but is missing

    删除文件夹后点commit提交,但是报错,报错内容如下:提示 "svn: Commit failed (details follow): svn: '/***/xxx.c' is sched ...

  5. [LeetCode] 298. Binary Tree Longest Consecutive Sequence_Medium tag: DFS recursive

    Given a binary tree, find the length of the longest consecutive sequence path. The path refers to an ...

  6. xcode6 新建项目真机调试无法全屏

    设置app ICons and Launch Images属性 通过设置启动图片,选择一张适配的图片(Default-568@2x)作为启动页的图片,可以解决全屏的问题

  7. unity3d API汇总

    using UnityEngine; using System.Collections; public class AllFunction : MonoBehaviour { /* API Versi ...

  8. char* a与char a[]的区别

    char *a 与char a[] 的区别   char *a = "hello" 中的a是指向第一个字符‘a'的一个指针 char a[20] = "hello&quo ...

  9. 把 ElasticSearch 当成是 NoSQL 数据库

    Elasticsearch 可以被当成一个 “NoSQL”-数据库来使用么? NoSQL 意味着在不同的环境下存在不同的东西, 而erestingly 它并不是真的跟 SQL 有啥关系. 我们开始只会 ...

  10. PHP查询MySQL大量数据的内存占用分析

    这篇文章主要是从原理, 手册和源码分析在PHP中查询MySQL返回大量结果时, 内存占用的问题, 同时对使用MySQL C API也有涉及. 昨天, 有同事在PHP讨论群里提到, 他做的一个项目由于M ...