花儿朵朵

时间限制:1000 ms  |  内存限制:65535 KB
难度:5
描述
春天到了,花儿朵朵盛开,hrdv是一座大花园的主人,在他的花园里种着许多种鲜花,每当这个时候,就会有一大群游客来他的花园欣赏漂亮的花朵,游客们总是会询问,某个时间有多少种花儿同时在盛开着?hrdv虽然知道每种花儿的开花时间段,但是他不能很快的答出游客的问题,你能编写一个程序帮助他吗?

输入
第一行有个整数t,表示有t组测试数据,每组测试数据第一行为两个整数n,m(0<n<100000,0<m<100000);随后有n行,每一行有两个整数x,y(0<x<y<1000000000),表示这一种花的盛开时间是从x到y;随后有m行,每行有一个整数,代表游客询问的时间。
输出
对于每次游客的询问,输出一个整数在单独的一行,表示这个时间盛开的花有多少种。
样例输入
2
1 1
5 10
4
2 3
1 4
4 8
1
4
6
样例输出
0
1
2
1
树状数组+离散化!
AC码:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct node
{int time,order;
}num[300000];
int a[300000],s,sum[200000];
int LowBit(int i)
{return i&(-i);
}
void Add(int i,int w)
{while(i<=s){sum[i]+=w;i+=LowBit(i);}
}
int Get(int i)
{int result=0;while(i>0){result+=sum[i];i-=LowBit(i);}return result;
}
int cmp(node a,node b)
{if(a.time==b.time)return a.order>b.order;elsereturn a.time<b.time;
}
int main()
{int T,m,n,i;scanf("%d",&T);while(T--){scanf("%d%d",&n,&m);s=(n<<1)+m;for(i=1;i<=s;i++){scanf("%d",&num[i].time);num[i].order=i;}// 调用库函数对time排序sort(num+1,num+s+1,cmp);int count=0;for(i=1;i<=s;i++){if(num[i].time!=num[i-1].time)   // 离散化+去重a[num[i].order]=++count;elsea[num[i].order]=count;}i=1;memset(sum,0,sizeof(sum));while(i<=(n<<1)){Add(a[i++],1);Add(a[i++]+1,-1);}for(i=(n<<1)+1;i<=s;i++){printf("%d\n",Get(a[i]));}}return 0;
}

NYOJ 600 花儿朵朵相关推荐

  1. nyoj 600——花儿朵朵——【离散化、线段树插线问点】

    花儿朵朵 时间限制:1000 ms  |  内存限制:65535 KB 难度:5 描述 春天到了,花儿朵朵盛开,hrdv是一座大花园的主人,在他的花园里种着许多种鲜花,每当这个时候,就会有一大群游客来 ...

  2. 实现800*600,1024*768两套分辨率方案

    下面这段代码,可以实现800*600,1024*768两套分辨率方案. <html> <head> <title>Untitled Document</tit ...

  3. 600余名外出务工者免费乘高铁“返乡专列”回云南过春节

    中新网昆明1月25日电(缪超)记者25日从中国铁路昆明局集团获悉,云南与广东两省人社部门近日组织开行高铁"返乡专列",免费安排600多名云南籍外出务工人员乘坐高铁动车返乡过春节. ...

  4. 轻松练:如何从900万张图片中对600类照片进行分类|技术头条

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」7折优惠最后2天,请扫码咨询 ↑↑↑ 作者 | Aleksey Bilogur 译者 | 风车云马 责编 | Jane 出品 | AI科 ...

  5. 985高校博士情侣致谢:我俩每月补贴600元,在一线城市生活5年

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文来源:小木虫整理自网络 博士毕业论文致谢信 来自上交大博士的论文 ...

  6. 1行代码消除PyTorch的CUDA内存溢出报错,这个GitHub项目刚发布就揽星600+

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI CUDA ...

  7. 600页!分享珍藏很久的《推荐系统学习手册》(附下载链接及入门经验)

    这是之前学习推荐系统时的学习资料,非常全面,包含经典模型的解析及代码实现.模型的评估.最新工业界论文解读等等,全网仅此一份!该手册有PDF版本和Markdown版本,总计有600多页! 资料领取方式: ...

  8. 600页!分享珍藏很久的《推荐系统学习手册》(附链接)

    这是之前学习推荐系统时的学习资料,非常全面,包含经典模型的解析及代码实现.模型的评估.最新工业界论文解读等等,全网仅此一份!该手册有PDF版本和Markdown版本,总计有600多页! 资料领取方式: ...

  9. 若显示器接口电路中的刷新存储器容量为1MB,当采用800*600的分辨率模式时,每个像素最多可以有多少()种颜色

    若显示器接口电路中的刷新存储器容量为1MB,当采用800*600的分辨率模式时,每个像素最多可以有多少()种颜色. 显示内存 >= 分辨率与彩色位数/8的乘积 1MB=800*600*T: T= ...

最新文章

  1. BEP 7:CUDA外部内存管理插件(上)
  2. python opencv调节图片亮度与对比度
  3. kinana 清空索引数据_(Elasticsearch)实战Elasticseartch、Logstash、Kibana
  4. 9种蔬菜吃不对胜似砒霜
  5. 404、500、502等HTTP状态码介绍
  6. Maven史上最全总结
  7. Linux创建名为vgtest的分区,第五周作业,
  8. 管理数据,应用程序和主机安全-A
  9. 作为JavaScript的“超集”,感受一下TypeScript 的那些黑魔法
  10. 从苏宁电器到卡巴斯基(第二部)第08篇:我在卡巴的日子 VIII
  11. 利用日志备份恢复时,提示 该 LSN 太晚,无法应用到数据库
  12. Python模块大全
  13. 灭霸只是开始 看数字王国的虚拟版图
  14. ES时间查询报错 - “caused_by“:{“type“:“illegal_argument_exception“,“reason“:“failed to parse date field
  15. 谷燕西:商业银行,区块链时代的牺牲品
  16. linux命令useradd
  17. python实现Rot古典密码加解密
  18. Qt 实现的一个生产者消费者模式类
  19. SQL 通配符及其使用
  20. shell 免杀aspx_webshell免杀套路

热门文章

  1. Docker linux安装
  2. Go基础--goroutine和channel
  3. Eclipe 新建maven web 项目
  4. 常识之外的规范——阿里java开发手册笔记(全章节)
  5. Nutanix 将社区版代码带入云中
  6. PHP基础系列之正则表达式(一)
  7. 常见浏览器兼容性问题与解决方案
  8. AjaxFileUpload 在C#中应用
  9. Blockchain Meeting supporting papers
  10. apple给我的感受