牛客练习赛4(A+B)
来源:互联网 发布:java游戏破解版网站 编辑:程序博客网 时间:2024/05/29 07:01
Laptop
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld
题目描述
FST是一名可怜的小朋友,他很强,但是经常fst,所以rating一直低迷。
但是重点在于,他非常适合ACM!并在最近的区域赛中获得了不错的成绩。
拿到奖金后FST决定买一台新笔记本,但是FST发现,在价格能承受的范围内,笔记本的内存和速度是不可兼得的。
可是,有一些笔记本是被另外一些“完虐”的,也就是内存和速度都不高于另外某一个笔记本,现在FST想统计一下有多少笔记本被“完虐”。
但是重点在于,他非常适合ACM!并在最近的区域赛中获得了不错的成绩。
拿到奖金后FST决定买一台新笔记本,但是FST发现,在价格能承受的范围内,笔记本的内存和速度是不可兼得的。
可是,有一些笔记本是被另外一些“完虐”的,也就是内存和速度都不高于另外某一个笔记本,现在FST想统计一下有多少笔记本被“完虐”。
输入描述:
第一行一个正整数n,表示笔记本的数量。接下来n行,每行两个正整数Mi,Si表示这款笔记本的内存和速度。n≤105,Mi,Si≤109
输出描述:
一行,一个正整数,表示被完虐的笔记本数。
示例1
输入
4100 700200 50050 100300 400
输出
1
备注:
Mi和Si都是越大越优。数据保证Mi互不相同,Si也互不相同。
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;long long n,mm,ans,ma;struct pc{ long long m,s;}a[100010];bool cmp(pc a,pc b){ return a.m<b.m;}int main(){ scanf("%lld",&n); for(long long i=0;i<n;i++) { scanf("%lld%lld",&a[i].m,&a[i].s); } sort(a,a+n,cmp); for(long long i=n-1;i>=0;i--) { if(i==n-1) { ma=a[i].s; } else{ if(a[i].s<ma) { ans++; } else { ma=a[i].s; } } } cout<<ans<<endl; return 0;}
Distance
题目描述
有四种情况,就是i2-j2>=0,i2-j2<0,ai2-aj2>=0,ai2-aj2<0,但是总的其实就是两种情况,分别算一下就可以了。FST作为小朋友,经常会遇到和距离有关的问题,但是他已经厌倦了曼哈顿距离和欧几里德距离,所以FST就定义了一种FST距离。这种距离并不用于空间或平面中,而运用于FST发明的一些神奇的算法中(唔... ...)。设i号元素的特征值为Ai,则i和j的FST距离是 |i2 - j2|+|Ai2 - Aj2|。为了实现某新的数据结构,FST想在一大堆元素中找出距离最大的一对元素,他不关心是哪一对元素,只想求出最大距离。输入描述:
第一行,一个正整数n,为元素个数。第二行,n个正整数Ai为这n个元素的特征值。输出描述:
一行,一个正整数表示最大距离。long long请用lld示例1输入
24 3输出
10备注:
n≤105,Ai≤109
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;long long n,a[100010],m1[100010],m2[100010],ans;int main(){ scanf("%lld",&n); for(long long i=1;i<=n;i++) scanf("%lld",&a[i]); for(long long i=1;i<=n;i++) m1[i]=i*i+a[i]*a[i]; for(long long i=1;i<=n;i++) m2[i]=i*i-a[i]*a[i]; sort(m1+1,m1+n+1); sort(m2+1,m2+n+1);ans=max(m1[n]-m1[1],m2[n]-m2[1]); cout<<ans<<endl; return 0;}
Fancy Signal Translate
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld题目描述
看到这题,有的用字典树,有的用hash,最后这个才是最简单的啊,直接用一个map存储,算有多少个不同的数,和2的n次幂比较,直接就出来了,也可能数据比较弱。FST是一名可怜的小朋友,他很强,但是经常fst,所以rating一直低迷。但是重点在于,他真的很强!他发明了一种奇特的加密方式,这种加密方式只有OIer才能破解。这种加密方式是这样的:对于一个01串,他会构造另一个01串,使得原串是在新串中没有出现过的最短的串。现在FST已经加密好了一个串,但是他的加密方式有些BUG,导致没出现过的最短的串不止一个,他感觉非常懊恼,所以他希望计算出没出现过的最短的串的长度。输入描述:
一行,一个01串。长度≤105
输出描述:
一行,一个正整数,表示没有出现过的最短串的长度。示例1输入
100010110011101输出
4
#include<stdio.h>#include<algorithm>#include<string.h>#include<map>#define N 100005using namespace std;typedef long long ll;char s[N];map<int,int>mp;int main(){ scanf("%s",s); int ans,n=strlen(s); for(int k=1;;k++){ mp.clear(); for(int i=0;i+k<n;i++){ int x=0; for(int j=0;j<k;j++) x=x*2+s[i+j]-'0'; mp[x]++; } if(mp.size()<(1<<k)){ printf("%d\n",k); break; } } return 0;}
阅读全文
0 0
- 牛客练习赛4(A+B)
- 牛客练习赛7 A B D E
- 牛客练习赛8 A B D E
- 天梯赛练习 正整数A+B
- 天梯赛练习集 正整数A+B
- hihoCoder 编程练习赛19 A, B
- hihocoder 练习 A+B
- 牛客练习赛7 B购物
- 牛客练习赛7 B
- 寒假练习 1000 A+B
- PAT练习-部分A+B
- PAT练习-A除以B
- 练习赛7.求A/B高精度值
- 2016 [Offer收割]编程练习赛3 A B
- 团体程序设计天梯赛-练习集L1-011. A-B
- L1-011. A-B(天梯赛练习)
- 团体程序设计天梯赛-练习集 L1-011. A-B
- 牛客练习赛6 A 【二分】
- ubuntu下打开matlab
- Ubuntu下deb包的安装方法
- 母函数(生成函数)学习
- java笔记
- Tensorflow实例之使用LSTM预测股票每日最高价(二)
- 牛客练习赛4(A+B)
- 简单总结一下strcmp函数的实现
- vue的模板 <template></template>
- 【南阳理工】 289 【基础】
- Python __getattr__ __getattribute__ __setattr__
- 【C#】不能像使用方法那样使用不可调用的成员"System.Data.DataSet.Tables".
- 斐波那契递归100次要多长时间???
- 考试
- 【我的Java笔记】I/O流