牛客网 牛客练习赛4 A.Laptop-二维偏序+离散化+树状数组
链接:https://ac.nowcoder.com/acm/contest/16/A
来源:牛客网
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld
题目描述
但是重点在于,他非常适合ACM!并在最近的区域赛中获得了不错的成绩。
拿到奖金后FST决定买一台新笔记本,但是FST发现,在价格能承受的范围内,笔记本的内存和速度是不可兼得的。
可是,有一些笔记本是被另外一些“完虐”的,也就是内存和速度都不高于另外某一个笔记本,现在FST想统计一下有多少笔记本被“完虐”。
输入描述:
第一行一个正整数n,
表示笔记本的数量。接下来n行,每行两个正整数M
i
,S
i
表示这款笔记本的内存和速度。
n≤10
5
,M
i
,S
i
≤10
9
输出描述:
一行,一个正整数,表示被完虐的笔记本数。
备注:
M
i
和S
i
都是越大越优。
数据保证M
i
互不相同,S
i
也互不相同。
二维偏序,一种思想,按照某一位进行排序,从而减少一维,然后对剩下的维度进行操作。
这道题题意就是找有多少笔记本的s和w性能都比一个别的笔记本小。
通过对s进行离散化然后排序,再对w进行树状数组的维护就可以了。
代码:
//A-二维偏序+树状数组
/*
二维偏序,就是一个思想,可以用树状数组实现。
*/
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e5+; int w[maxn],sum[maxn];
int n; struct node{
int x,y;
}a[maxn]; bool cmp(node a,node b)
{
return a.x<b.x;
} int lowbit(int x)
{
return x&(-x);
} int query(int n)
{
int ans=;
for(int i=n;i>;i-=lowbit(i)){
ans+=sum[i];
}
return ans;
} void add(int x)
{
for(int i=x;i<=n;i+=lowbit(i)){
sum[i]++;
}
} int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%d%d",&a[i].x,&a[i].y);
w[i]=a[i].y;
}
sort(w+,w++n);
int d=unique(w+,w++n)-(w+);
for(int i=;i<=n;i++){
a[i].y=lower_bound(w+,w++d,a[i].y)-w;
}
sort(a+,a++n,cmp);
int ans=;
for(int i=n;i>;i--){
int cnt=query(a[i].y);
if(n-i-cnt!=) ans++;//n-i是找比当前i大的,然后再减去cnt是比当前i小的,最后就是都比当前的大的
add(a[i].y);
}
printf("%d\n",ans);
}
牛客网 牛客练习赛4 A.Laptop-二维偏序+离散化+树状数组的更多相关文章
- 牛客练习赛38 D 题 出题人的手环 (离散化+树状数组求逆序对+前缀和)
链接:https://ac.nowcoder.com/acm/contest/358/D来源:牛客网 出题人的手环 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他 ...
- 牛客练习赛33 D tokitsukaze and Inverse Number (树状数组求逆序对,结论)
链接:https://ac.nowcoder.com/acm/contest/308/D 来源:牛客网 tokitsukaze and Inverse Number 时间限制:C/C++ 1秒,其他语 ...
- 牛客小白月赛12 F 华华开始学信息学 (分块+树状数组)
链接:https://ac.nowcoder.com/acm/contest/392/F来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 32768K,其他语言65536K ...
- 「BZOJ1669」D 饥饿的牛 [Usaco2006 Oct] Hungry Cows 牛客假日团队赛5 (LIS,离散化树状数组)
链接:https://ac.nowcoder.com/acm/contest/984/D 来源:牛客网 饥饿的牛 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言 ...
- 出题人的手环(牛客练习赛38D 离散化+树状数组)
题目链接(https://ac.nowcoder.com/acm/contest/358/D) 题目描述 出题人的妹子送了出题人一个手环,这个手环上有 n 个珠子,每个珠子上有一个数. 有一天,出题人 ...
- 2019南京网赛 The beautiful values of the palace(思维,树状数组
https://nanti.jisuanke.com/t/41298 题意:给一个n * n的螺旋矩阵,n保证是奇数,取一些点使其.获得价值,价值为数位和,然后再给q次查询,求矩阵中的价值总和 思路: ...
- Different Integers 牛客网暑期ACM多校训练营(第一场) J 离线+线状数组或者主席树
Given a sequence of integers a1, a2, ..., an and q pairs of integers (l 1, r1), (l2, r2), ..., (lq, ...
- 2018牛客网暑期ACM多校训练营(第二场)J Farm(树状数组)
题意 n*m的农场有若干种不同种类作物,如果作物接受了不同种类的肥料就会枯萎.现在进行t次施肥,每次对一个矩形区域施某种类的肥料.问最后枯萎的作物是多少. 分析 作者:xseventh链接:https ...
- 牛客练习赛47 E DongDong数颜色 (树状数组维护区间元素种类数)
链接:https://ac.nowcoder.com/acm/contest/904/E 来源:牛客网 DongDong数颜色 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 5242 ...
随机推荐
- 汉诺(hanio)塔问题
规则:大盘子不能压在小盘子上.要求:将A柱子上所有盘(每个盘大小不同)放到C柱子上,使用B柱子作辅助. 比如柱子A上有n个盘,执行以下步骤: 1. 把n-1个盘从源柱移动到临时柱上: 2. 把源柱上剩 ...
- Oracle For Linux 恢复日记 霆智X8III
公司最近的客户需要在LINUX系统中做数据迁移,备份出来的内容数据库物理文件,回档日志和SpfileXXXX 客户用的是北京霆智的X8备份阵列,X8与数据库服务器都放在IDC机所,IDC机房与客户之间 ...
- unable to retrieve container logs for docker kubernetes
参考 https://github.com/knative/docs/issues/300 This is what happens when the build is successful and ...
- redis AbortOnConnectFail
AbortOnConnectFail =true 服务器上停止redis service,即便后来redis服务端修好能够接通时,也不会自动连接. 所以建议设为false
- CENTOS7-JAVA模拟CPU占用高及排查( 转)
环境 centos7 1核2GB Java8 模拟cpu占用高 新建一个名为jvm-learn的springboot项目 模拟代码如下 import org.springframework.boot. ...
- Redis学习总结整理
基本操作 设值 set KEY VALUE 获值 get KEY 设置过期时间(单位:s) set KEY VALUE ex SECONDS 设置过期时间(单位:s) exprire KEY SECO ...
- centos 7 新机器安装部署配置
首先卸载openjdk,安装jdk 1.查看java版本 [lambert@localhost ~]$ java -version openjdk version "1.8.0_102&qu ...
- Django简介,请求生命周期,静态文件配置
Web框架 Web框架(Web framework)是一种开发框架,用来支持动态网站.网络应用和网络服务的开发.这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方 ...
- 蓝桥杯如何训练?(附VIP题库)
https://www.dotcpp.com/ 给大家介绍下蓝桥杯,是近几年可以说国内名气最大的程序设计类比赛了 相比国际赛事ACM,蓝桥杯入门简单.中文答题.拿奖率高,更适合国内大众化参加,近几年不 ...
- NumPy简单入门教程
# NumPy简单入门教程 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组.它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体 ...