nyoj_600:花儿朵朵(树状数组+坐标离散化)
2024-09-16 05:34:34
http://acm.nyist.net/JudgeOnline/problem.php?pid=600
只附代码好了
#include<bits/stdc++.h> using namespace std; ; struct node { int num,id; } s[N]; int s1[N],a[N]; bool cmp(node x,node y) { return x.num<y.num; } int lowbit(int x) { return x&-x; } void add(int i,int x) { while(i<N) { a[i]+=x; i+=lowbit(i); } } int sum(int i) { ; while(i) { ret+=a[i]; i-=lowbit(i); } return ret; } int main() { int t; scanf("%d",&t); while(t--) { memset(a,,sizeof(a)); int n,m; scanf("%d%d",&n,&m); n<<=;m+=n; ;i<=m;i++) { scanf("%d",&s[i].num); s[i].id=i; } sort(s+,s+m+,cmp); ; s1[s[].id]=++cnt; ;i<=m;i++) ].num) s1[s[i].id]=++cnt; else s1[s[i].id]=cnt; ;i<=n;) add(s1[i++],),add(s1[i++]+,-); ;i<=m;i++) printf("%d\n",sum(s1[i])); } }
最新文章
- .net 分布式架构之分布式缓存中间件
- 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~
- Js replace() 学习笔记
- [Linux-脚本]排序、统计、合并命令
- 献给广大it从业人士:早睡早起,晚睡也早起
- Window[";aaa";]这个在JS里是什么意思?
- centos 7 安装音乐播放器(亲测可用)
- 清除Xcode缓存和存档文件
- AppImage格式安装包使用
- 内存泄漏学习案例-1-ArrayList
- 移动前端webApp开发点滴积累20140524
- ExceptionLess本地环境部署
- python3之redis
- 094实战 关于js SDK的程序,java SDK的程序
- set_error_handler
- 语义SLAM的数据关联和语义定位(二)Semantic Localization Via the Matrix Permanent
- Maven —— scope 元素的值及其含义
- Python3自动化运维
- .net/c#常用框架/中间件简介
- window,centos双系统坏了