NYOJ 600 花儿朵朵
花儿朵朵
- 描述
-
春天到了,花儿朵朵盛开,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 花儿朵朵相关推荐
- nyoj 600——花儿朵朵——【离散化、线段树插线问点】
花儿朵朵 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 春天到了,花儿朵朵盛开,hrdv是一座大花园的主人,在他的花园里种着许多种鲜花,每当这个时候,就会有一大群游客来 ...
- 实现800*600,1024*768两套分辨率方案
下面这段代码,可以实现800*600,1024*768两套分辨率方案. <html> <head> <title>Untitled Document</tit ...
- 600余名外出务工者免费乘高铁“返乡专列”回云南过春节
中新网昆明1月25日电(缪超)记者25日从中国铁路昆明局集团获悉,云南与广东两省人社部门近日组织开行高铁"返乡专列",免费安排600多名云南籍外出务工人员乘坐高铁动车返乡过春节. ...
- 轻松练:如何从900万张图片中对600类照片进行分类|技术头条
点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」7折优惠最后2天,请扫码咨询 ↑↑↑ 作者 | Aleksey Bilogur 译者 | 风车云马 责编 | Jane 出品 | AI科 ...
- 985高校博士情侣致谢:我俩每月补贴600元,在一线城市生活5年
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文来源:小木虫整理自网络 博士毕业论文致谢信 来自上交大博士的论文 ...
- 1行代码消除PyTorch的CUDA内存溢出报错,这个GitHub项目刚发布就揽星600+
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI CUDA ...
- 600页!分享珍藏很久的《推荐系统学习手册》(附下载链接及入门经验)
这是之前学习推荐系统时的学习资料,非常全面,包含经典模型的解析及代码实现.模型的评估.最新工业界论文解读等等,全网仅此一份!该手册有PDF版本和Markdown版本,总计有600多页! 资料领取方式: ...
- 600页!分享珍藏很久的《推荐系统学习手册》(附链接)
这是之前学习推荐系统时的学习资料,非常全面,包含经典模型的解析及代码实现.模型的评估.最新工业界论文解读等等,全网仅此一份!该手册有PDF版本和Markdown版本,总计有600多页! 资料领取方式: ...
- 若显示器接口电路中的刷新存储器容量为1MB,当采用800*600的分辨率模式时,每个像素最多可以有多少()种颜色
若显示器接口电路中的刷新存储器容量为1MB,当采用800*600的分辨率模式时,每个像素最多可以有多少()种颜色. 显示内存 >= 分辨率与彩色位数/8的乘积 1MB=800*600*T: T= ...
最新文章
- BEP 7:CUDA外部内存管理插件(上)
- python opencv调节图片亮度与对比度
- kinana 清空索引数据_(Elasticsearch)实战Elasticseartch、Logstash、Kibana
- 9种蔬菜吃不对胜似砒霜
- 404、500、502等HTTP状态码介绍
- Maven史上最全总结
- Linux创建名为vgtest的分区,第五周作业,
- 管理数据,应用程序和主机安全-A
- 作为JavaScript的“超集”,感受一下TypeScript 的那些黑魔法
- 从苏宁电器到卡巴斯基(第二部)第08篇:我在卡巴的日子 VIII
- 利用日志备份恢复时,提示 该 LSN 太晚,无法应用到数据库
- Python模块大全
- 灭霸只是开始 看数字王国的虚拟版图
- ES时间查询报错 - “caused_by“:{“type“:“illegal_argument_exception“,“reason“:“failed to parse date field
- 谷燕西:商业银行,区块链时代的牺牲品
- linux命令useradd
- python实现Rot古典密码加解密
- Qt 实现的一个生产者消费者模式类
- SQL 通配符及其使用
- shell 免杀aspx_webshell免杀套路