题目连接

https://www.acwing.com/problem/content/804/

思路

用一个map用来映射我们的真实地址和逻辑地址,然后用一个map来存储真实地址的值,然后再单独开一个b数组求得是逻辑地址得前缀和,然后二分一下l和r输出即可,这里要注意边界问题

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000009
#define endl "\n"
#define PII pair<int,int>
const int N = 2e6+10;
ll n,m,a[N];
ll b[N];
map<ll,ll> loc,value;int main()
{cin>>n>>m;int x,c;int cnt = 0;for(int i = 1;i <= n; ++i) {cin>>x>>c;if(!value[x])a[++cnt] = x;value[x] += c;}sort(a+1,a+1+cnt);for(int i = 1;i <= cnt; ++i) {loc[a[i]] = i;}for(int i = 1;i <= cnt; ++i) {b[i] = b[i-1] + value[a[i]];}ll l,r,L,R;while(m--) {cin>>l>>r;L = lower_bound(a + 1,a + cnt + 1,l) - a;R = lower_bound(a + 1,a + cnt + 1,r) - a;if(a[R] != r) R--;cout<<b[R]-b[L-1]<<endl;}return 0;
}

AcWing 802. 区间和相关推荐

  1. 【算法基础】离散化 AcWing 802. 区间和 (详细)

    传送门 C++还没入门,代码看了十多遍 ,补了点语法,终于ac了!! 前言 欢迎关注我的专栏,准备写完算法基础所有题解

  2. [AcWing] 905. 区间选点(C++实现)贪心---区间问题例题

    [AcWing] 905. 区间选点(C++实现)贪心---区间问题例题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6. ...

  3. acwing 905 区间问题-区间选点

    Acwing 905. 区间选点 题目描述 给定 N 个闭区间 [ai,bi] ,请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点. 输出选择的点的最小数量. 位于区间端点上的点也算作区 ...

  4. AcWing. 246 区间最大公约数 (区间修改 + 区间查询)

    AcWing. 246区间最大公约数 gcd(a1,a2...,an)gcd(a_{1},a_{2}...,a_{n})gcd(a1​,a2​...,an​) = gcd(a1,a2−a1...,an ...

  5. AcWing 713. 区间 2

    文章目录 AcWing 713. 区间 2 AC代码 AcWing 713. 区间 2 本题链接:AcWing 713. 区间 2 本博客给出本题截图: AC代码 代码: #include <i ...

  6. AcWing 659. 区间

    文章目录 AcWing 659. 区间 AC代码 AcWing 659. 区间 本题链接:AcWing 659. 区间 本博客给出本题截图: AC代码 代码: #include <iostrea ...

  7. AcWing - 246. 区间最大公约数(树状数组+线段树)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的序列,需要执行 mmm 次操作,每次操作分为下列两种类型: C l r d:将区间 [l,r][l,r][l,r] 位置的数字都加上 ddd Q ...

  8. AcWing 905. 区间选点(贪心)

    题目链接 https://www.acwing.com/problem/content/907/ 思路 我们用pair<int,int>来存储每一个区间的两个端点,然后按照右区间从小到大排 ...

  9. 802. 区间和(离散化)

    题目描述 假定有一个无限长的数轴,数轴上每个坐标上的数都是0. 现在,我们首先进行 n 次操作,每次操作将某一位置x上的数加c. 近下来,进行 m 次询问,每个询问包含两个整数l和r,你需要求出在区间 ...

最新文章

  1. 解题报告:luogu P3916 图的遍历( 缩点 + DFS ? × 思维 + 反向建边 + DFS √ )
  2. raid5 增加一块硬盘_Raid5热备盘上线同时另一块硬盘离线如何恢复数据
  3. 三包围结构的字是什么样的_手帐排版的高段位秘诀:运用艺术字丨大咖分享
  4. 桌面程序开发入门(WinForm with C#)
  5. Android中asset文件夹和raw文件夹区别(转载)
  6. 【面试锦囊】14种模式搞定面试算法编程题(1-7)
  7. 控制用户输入字符的个数
  8. Eclipse3.6.2 64位启动报“Failed to load the JNI shared library”错的解决方法
  9. strcompare php,PHP中的startswith()和endsWith()函数
  10. 【机器学习】 - import cv2 opencv安装python
  11. php 检测死锁,MySQL 死锁检测
  12. deepin安装zsh以及简单配置
  13. 一个适用于visual studio 2005的一个js日历控件--zhuan
  14. RDD持久化(缓存)
  15. C++ std::condition_variable 是什么 有什么用 条件变量 线程同步 wait wait_for notify_one notify_all
  16. 华为的计算机怎么没声音怎么办,笔记本电脑没有声音怎么办
  17. Android接入TapTap踩坑
  18. Spring课程 Spring入门篇 5-6 introductions应用
  19. 数学笔记——导数2(求导法则和高阶导数)
  20. 《计算机应用基础》第04章在线测试,《计算机应用基础》在线测试.doc

热门文章

  1. Git for Windows之分支管理、分支合并、解决分支冲突
  2. 关于html中对换行的处理
  3. codeforces 14D
  4. 微信公众平台二次开发 API开发 服务账号开发 订阅号开发
  5. WordPress社会化评论插件多说、有言、灯鹭、评论啦
  6. 海量数据 网站中用户积分排名问题
  7. ASP.NET中的回调技术(CallBack)
  8. 技术篇-HBase Coprocessor 的实现与应用
  9. Linux—-—字符管理命令
  10. 解决atom安装emmet的问题