NYOJ-522 Interval

Interval

时间限制:2000 ms  |  内存限制:65535 KB
难度:4
描述
There are n(1 <= n <= 100000) intervals [ai, bi] and m(1 <= m <= 100000) queries, -100000 <= ai <= bi <= 100000 are integers.
Each query contains an integer xi(-100000 <= x <= 100000). For each query, you should answer how many intervals convers xi.
输入
The first line of input is the number of test case.
For each test case,
two integers n m on the first line, 
then n lines, each line contains two integers ai, bi;
then m lines, each line contains an integer xi.
输出
m lines, each line an integer, the number of intervals that covers xi.
样例输入
2
3 4
1 3
1 2
2 3
0
1
2
3
1 3
0 0
-1
0
1
样例输出
0
2
3
2
0
1
0
      很久没写树状数组了,正好看到了,就复习一下,本题是树状数组-----插线问点的问题

注意写树状数组时候把区间都扩大到大于0的区间上,不能等于0.否则会一直超时,代码如下:

 

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <iostream>
 4 
 5 using namespace std;
 6 
 7 int num[200005];
 8 
 9 int lowbit(int i)
10 {
11     return i & (-i);
12 }
13 
14 void update(int i, int add)
15 {
16     while(i <= 200001)
17     {
18         num[i] += add;
19         i += lowbit(i);
20     }
21 }
22 
23 int getsum(int x)
24 {
25     int ans = 0;
26     while(x > 0)
27     {
28         ans += num[x];
29         x -= lowbit(x);
30     }
31     return ans;
32 }
33 
34 int main()
35 {
36     int T, m, n, s, t, x;
37     scanf("%d", &T);
38     while(T--)
39     {
40         memset(num, 0, sizeof(num));
41         scanf("%d%d", &m, &n);
42         while(m--)
43         {
44             scanf("%d%d", &s, &t);
45             update(s+100001, 1);
46             update(t+100001+1, -1);
47         }
48         while(n--)
49         {
50             scanf("%d", &x);
51             printf("%d\n", getsum(x+100001));
52         }
53     }
54     return 0;
55 }

 

 

 

 

 
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现图书增删的代码_不仅仅是图书信息管理系统

点击蓝字 关注我们不仅仅是图书信息管理系统基于双链表&#xff0c;采用面向对象编程方法制作的图书管理系统❞效果演示root用户&#xff1a;账号&#xff1a;0&#xff0c;密码&#xff1a;0普通用户&#xff1a;账号&#xff1a;1001&#xff0c;密码&#xff1a;666666图书信…

HDU1846 - Brave Game【巴什博弈】

十年前读大学的时候&#xff0c;中国每年都要从国外引进一些电影大片&#xff0c;其中有一部电影就叫《勇敢者的游戏》&#xff08;英文名称&#xff1a;Zathura&#xff09;&#xff0c;一直到现在&#xff0c;我依然对于电影中的部分电脑特技印象深刻。 今天&#xff0c;大家…

Ubuntu18.04换源更新国内源

参考&#xff1a;Ubuntu18.04更新国内源 作者&#xff1a;一只青木呀 发布时间&#xff1a;2020-08-05 10:24:11 网址&#xff1a;https://blog.csdn.net/weixin_45309916/article/details/107808268 树莓派换源博文&#xff1a;https://blog.csdn.net/zhuguanlin121/article/d…

php中解析数组,在PHP中解析多维数组

您应该在将数据解析为Smarty之前准备好数据。你可以这样做&#xff1a;$result array(array(name > Hockey Team 1, category_id > 1),array(name > Hockey Team 2, category_id > 2),array(name > Hockey Team 3, category_id > 3),array(name > Footba…

了解jQuery并掌握jQuery对象和DOM对象的区别

jQuery的优势&#xff1a; 开源--开放源代码 轻量级 强大的选择器 出色的DOM操作(对DOM元素的一个增删改查) 完善的Ajax&#xff0c;出色的浏览器兼容性&#xff0c;丰富的插件支持&#xff0c;完善的文档&#xff08;说明书&#xff09; 链式操作方式&#xff0c; 写得少&…

linux下复制

复制文件 cp - i file tofile 复制目录 cp - r dic todic转载于:https://www.cnblogs.com/Hero-Qiang/archive/2013/03/20/2971579.html

rh php56 php,在全球范围内提供RHSCL PHP的最佳方法

我使用以下网址安装了RHSCL 2&#xff1a;使用RedHat订阅管理器.然后我运行yum删除php *,然后是yum install rh-php56一切顺利,除非现在找不到PHP.然后我运行find / -name php并在以下目录中找到rh-php56&#xff1a;/var/opt/rh/rh-php56/lib/php/opt/rh/rh-php56/register.co…

Vmware15的安装(ps解决:重装Vmware出现无法安装服务Vmware Authorization Service)

参考&#xff1a;Linux之Vmware的安装 作者&#xff1a;一只青木呀 发布时间&#xff1a; 2020-07-09 22:13:14 网址&#xff1a;https://blog.csdn.net/weixin_45309916/article/details/107238658 目录1.前言2.打开Vmware虚拟机安装包安装解决&#xff1a;重装Vmware出现无法…

python多线程模块_python 多线程模块参考

threading.active_count() 返回当前处于 active 状态的线程的数目 threading.current_thread() 返回调用者当前的 Thread 对象 threading.get_ident() 返回当前线程的“thread identifier”属性&#xff08;3.3新增&#xff09; threading.enumerate() 返回当前处于 active 状态…

谈谈即时通讯开发平台

由于即时通讯系统的复杂性和对服务器稳定性的很高要求&#xff0c;一般即时通讯系统开发至少需要1年左右的时间&#xff0c;而这还只是测试版&#xff0c;离"稳定"还有一定距离&#xff0c;而这时匆匆上马的不稳定的系统会让你失去用户&#xff0c;您也不可能召集上万…

内存,RAM(DDR),ROM(EEPROM、flash),存储卡(emmc,sd,tf)以及Cache的区别与联系

参考&#xff1a;内存&#xff0c;RAM&#xff0c;ROM&#xff0c;Cache的区别与联系 作者&#xff1a;一只青木呀 发布时间&#xff1a;2020-09-26 09:55:40 网址&#xff1a;https://blog.csdn.net/weixin_45309916/article/details/108808106 参考&#xff1a;EEPROM和flash…

PHP数据库可视化分析工具,5个MySQL GUI工具推荐,帮助你进行数据库管理

MySQL的数据库管理工具非常多&#xff0c;有哪些优秀的GUI工具可以帮助提高工作效率?不妨看一看这5个MySQL GUI工具。1、Navicat for MySQLNavicat for MySQL是数据库管理工具&#xff0c;与MySQL&#xff0c;MariaDB和云数据库兼容&#xff0c;是目前非常受欢迎的数据库前端用…

idea 项目jar反编译java_带你上手阿里开源的 Java 诊断利器:Arthas

本文适合有 Java 基础知识的人群。本文作者&#xff1a;HelloGitHub-秦人HelloGitHub 推出的《讲解开源项目》系列&#xff0c;今天给大家带来一款阿里开源的 Java 诊断利器 Arthas 项目—— Arthas项目源码地址&#xff1a;https://github.com/alibaba/arthas一、简介 为什么要…

22Java之JDBCTemplate总结

写在前面&#xff1a;这里总结4种方式来操作数据库&#xff08;SE阶段&#xff09; 一、JDBC JDBC有关的类&#xff1a;都在java.sql 和 javax.sql 包下.1.数据准备 这里假设已经在数据库中新建立了mydb4数据库&#xff0c;并且也插入了一些数据&#xff0c;并且还需要导入一个…

福布斯评科技未来五大趋势:电脑消失融入生活时间

福布斯评科技未来五大趋势&#xff1a;电脑消失融入生活时间 谈趋势似乎并不讨巧&#xff0c;因为所谓趋势通常都是指时尚。每每谈及趋势&#xff0c;人们立刻就会想到穿着夸张服饰在T台上昂首阔步的模特&#xff0c;但每当下一季的新款推出&#xff0c;再华丽的时装都会很快…

Windows如何开启虚拟化,以安装虚拟机?

参考&#xff1a;Windows如何开启虚拟化&#xff0c;以安装虚拟机&#xff1f; 作者&#xff1a;一只青木呀 发布时间&#xff1a;2020-08-28 20:58:45 网址&#xff1a;https://blog.csdn.net/weixin_45309916/article/details/108286787 设置BIOS 安装 Ubuntu 时报错&#x…

php生成文件index.html,Typecho生成静态首页index.html文件

Typecho生成静态首页index.html文件作者&#xff1a;佚名来源&#xff1a;爱好者时间&#xff1a;2019-11-02在挨踢路看到的教程&#xff0c;不仅仅适用于Typecho&#xff0c;wordpress也是可以通用。教程在网站根目录新建文件f5.php然后里面写入下面的代码。$nowtimetime();$p…

python语言1002python语言_PYTHON语言学习

PYTHON 语言学习 通过两个星期的自学 python 语言&#xff0c;初步了解到 python 的知识构架。它比 C 语言和 C 语 言在某种程度上来说要简单些&#xff0c; 但是也有很多我不懂的东西。 陈老师给我安排的课堂任务是 第 21 章的 Database Programming &#xff0c;通过 python …

python数据结构之栈

栈栈&#xff08;stack&#xff09;&#xff0c;有些地方称为堆栈&#xff0c;是一种容器&#xff0c;可存入数据元素、访问元素、删除元素&#xff0c;它的特点在于只能允许在容器的一端&#xff08;称为栈顶端指标&#xff0c;英语&#xff1a;top&#xff09;进行加入数据&a…

Ubuntu 16.04安装教程及虚拟机设置

摘自&#xff1a;Ubuntu 16.04安装教程及设置 作者&#xff1a;一只青木呀 发布时间&#xff1a; 2020-07-09 22:36:50 网址&#xff1a;https://blog.csdn.net/weixin_45309916/article/details/107239119 配合这篇博文&#xff1a;安装ubuntu20.04并进行优化——安装vim,gcc,…