Stars URAL - 1028
就是给你一些星星的坐标,然后求出每个星星的左下角有多少颗星星
题目保证按照Y坐标的顺序给出每个星星的坐标,那么我们就可以说,当输入某个星星的坐标时,此时有多少个星星的横坐标小于它,它左下角就有多少星星。也就是转换成一个前缀和问题,算是树状数组的裸题。也是需要离散化一下。
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream> using namespace std;
const int maxn=+;
int n;
int ans[maxn];
int C[maxn];
int name[maxn];
int a[maxn]; int lowbit(int x){
return x&(-x);
}
void add(int v,int x){
while(v<=n){
C[v]+=x;
v+=lowbit(v);
}
}
int query(int v){
int res=;
while(v>){
res+=C[v];
v-=lowbit(v);
}
return res;
}
int x,y;
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%d%d",&x,&y);
a[i]=x;
name[i]=x;
}
sort(name+,name++n);
for(int i=;i<=n;i++){
int d=lower_bound(name+,name++n,a[i])-name;
ans[query(d)]++;
add(d,);
}
for(int i=;i<n;i++)
cout<<ans[i]<<endl; return ;
}
Stars URAL - 1028的更多相关文章
- poj 2352 & Ural 1028 数星星 题解
一道水题,由于x坐标递增y坐标也递增于是前缀和统计即可,用树状数组实现. #include<bits/stdc++.h> using namespace std; const int ma ...
- 一本通1536数星星 Stars
1536:[例 2]数星星 Stars 时间限制: 256 ms 内存限制: 65536 KB [题目描述] 原题来自:Ural 1028 天空中有一些星星,这些星星都在不同的位置,每 ...
- URAL题解一
URAL题解一 URAL 1002 题目描述:一种记住手机号的方法就是将字母与数字对应,如图.这样就可以只记住一些单词,而不用记住数字.给出一个数字串和n个单词,用最少的单词数来代替数字串,输出对应的 ...
- 树状数组的理解(前缀和 and 差分)
二更—— 有神仙反映数星星那个题外链炸了,我决定把图给你们粘一下,汉语翻译的话在一本通提高篇的树状数组那一章里有,同时也修改了一些汉语语法的错误 这段时间学了线段树组,当神仙们都在学kmp和hash的 ...
- 20160723数据结构节alexandrali
大坑最后再填. 20160803:心情好回来填啦(5/7) 做的题目是: poj2970 我们先每个人都不给钱qwq 然后我们发现有一位的工作时间超过了d 那么我们就从以前安排过工作的人里,a最大的, ...
- POJ-2352 Stars 树状数组
Stars Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 39186 Accepted: 17027 Description A ...
- hdu 1541/poj 2352:Stars(树状数组,经典题)
Stars Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- Stars(树状数组或线段树)
Stars Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 37323 Accepted: 16278 Description A ...
- POJ 2352 Stars(HDU 1541 Stars)
Stars Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 41521 Accepted: 18100 Descripti ...
随机推荐
- autoconf 简单demo试用
1. 安装工具 yum install -y automake 2. 基本项目 a. 项目参考结构 ├── AUTHORS ├── COPYING ├── ChangeLog ├── Makefi ...
- DIV,CSS学习
如何将页脚固定在页面底部 http://web.jobbole.com/10408/
- 【转】理解Linux 配置文件
原文网址:http://www.mike.org.cn/articles/understanding-linux-configuration-files-linux/ 介绍每个 Linux 程序都是一 ...
- Android adb push 和 adb pull
将电脑 D 盘 libreference-ril.so 文件拷贝到安卓设备的 /system/lib 目录下 $ adb remount $ adb root $ adb push D:\libref ...
- SharePoint自动登录问题
SharePoint使用Windows身份验证,默认会弹出Windows验证登录框,如下图所示: 1.对于已经加域的客户端,可通过如下方式解决 IE安全设置,将站点加信任站点,然后修改信任站点安全设置 ...
- 以Linux下的测试程序说明递归型互斥量和普通互斥量的区别
先贴代码和测试结果 // Mutex.h: 对pthread的互斥量的RAII包装 #ifndef _MUTEX_H_ #define _MUTEX_H_ #include <stdio.h&g ...
- python-redis-pipe文件
redis导入数据比较头疼的事情,涉及几千万,导入还是很耗时,通过生成pipe文件的方式比较快捷. python3.6.1版本 在linux环境下运行 with open("data1&qu ...
- ngui自适应
增加UIROOT using UnityEngine; namespace Com.Xyz.UI { [ExecuteInEditMode] [RequireComponent(typeof(UIRo ...
- Android 应用获取Jenkins编译的版本号
Android很多应用的版本号最后都带了编译的版本号.比如说V1.0.0.125,后边的125就通常使用每次编译之后build history的号码,它是逐次增加,这样就可以区分每个细分的编译版本号, ...
- python 之 Collections模块
官方文档:https://yiyibooks.cn/xx/python_352/library/collections.html 参考: https://blog.csdn.net/songfreem ...