题解 P4613 【[COCI2017-2018#5] Olivander】
话说这道题,作为一个哈迷,是不能错过的
我很惊讶本蒟蒻竟然看得懂题面
好了,闲话少说,这道题,虽说是入门难度,但凭着良心说,它还是一道普及 - 的吧
看到标签,“高性能”,大脑的第一反应是快读。
是不是 如雷贯耳 ?
是不是 久仰大名 ?
是不是仔细想想,咦?快读到底是干嘛的? 尴尬
本蒟蒻查了一下,快读就是快速读入 (从字面上来理解)
咳咳,emm…… 快读的原理就是将一个整数转化为先输入一个字符,再将其转化为整数。大家应该都知道,字符 0 的 ASCII 码是 48 ,那么,所有字符数字对应的整数是否就应该转化为它的 ACSII 码减去48 ( 即字符 '0' ) 呢?(从本义上来理解)
显然是的。
那么,具体应该怎么实现呢?
int read(){//快读
int r=0,f=1;//r为计数器,f为标志,看是正数还是负数
char c=getchar();//先入c
while((c<'0'||c>'9')&&c!='-')
c=getchar();//为别的符号时直接读入,不管它是什么
if(c=='-')//如果读入了负号,标记置-1,为后来做铺垫
f=-1,c=getchar();
while(c<='9'&&c>='0')//正式读入数字
r=r*10+c-'0',c=getchar();//r开始增加,转化为多位数
return r*f;//若f=1则为正数,f=-1为负数
}
是不是很容易理解?
还有一个知识点,就是
排序!!!
所谓排序,就是将数组按规定顺序 (从小到大或从大到小,以及其他) 排列
如果你的第一个下标为0,则排序为这样的:( 在函数库里规定为从小到大 )
sort(a,a+n);//n为元素个数
若为1,则是:
sort(a+1,a+1+n);
这里补充一下如果你要按从大到小排序应该怎样做:
//先定义自函数
int cmp(int a,int b){
return a>b;
}
//再排序
sort(a+1,a+1+n,cmp);
好了,本题的知识点都讲完了。 应该是我太蒟才没发现其他知识点
下面放出完整代码:( 我没开O2也没事? 应该没事,本人亲测)
#include<cstdio>
#include<algorithm>//不要在意头文件
#define maxn 101//定义maxn的值,即a与b数组的元素最多多少个
using namespace std;//本蒟蒻总会写这个
int n,a[maxn],b[maxn],i;
int read(){//快读万岁
int r=0,f=1;
char c=getchar();
while((c<'0'||c>'9')&&c!='-')
c=getchar();
if(c=='-')
f=-1,c=getchar();
while(c<='9'&&c>='0')
r=r*10+c-'0',c=getchar();
return r*f;
}
int main(){
n=read();//在用read函数时读入方法,get一下
for(i=1;i<=n;i++)
a[i]=read();//同上
for(i=1;i<=n;i++)
b[i]=read();//同上
sort(a+1,a+1+n);//排序 ( 我的第一个下标是1,所以这样排序 )
sort(b+1,b+1+n);//这里也是
for(i=1;i<=n;i++){
if(a[i]>b[i]){//如果魔杖放不下
printf("NE");//不满足题意直接拜拜,输出"NE"
return 0;
}
}
printf("DA");//检查完再输出"DA"
return 0;
}
OI 加油!洛谷冲鸭!
题解 P4613 【[COCI2017-2018#5] Olivander】的更多相关文章
- 洛谷 题解 P4613 【[COCI2017-2018#5] Olivander】
我又双叒叕被包菜辣! P4613 [COCI2017-2018#5] Olivander 首先,不知道为什么这题无法提交翻译: 所以,我先放个翻译: 哈利波特在与伏地魔的战斗中损坏了他的魔杖.他决定在 ...
- COCI2017/2018 CONTEST #7
Prosjek 显然,越大的数应该越后参与平均数的计算,这样受较小数的影响就小一些 那我们就排个序,贪心的从最小的数开始往大的计算平均数即可 时间复杂度\(O(nlogn)\) Timovi 把分组分 ...
- Week One
2018.11.21: 1.[BZOJ 4868][SHOI 2017] 从后往前枚举最后位置即可,如果$A<B$,用尽可能多的$A$替换$B$操作 Tip:很大的$C$可能爆$longlong ...
- TSOJ--2018 江苏省省赛
[2018 江苏省大学生程序设计大赛] K. 2018 (测试数据范围有扩大) Problem Given a, b, c, d, find out the number of pairs of int ...
- 记 2019蓝桥杯校内预选赛(JAVA组) 赛后总结
引言 好像博客好久没更新了 哈哈哈哈哈 趁现在有空更新一波 不知道还有没有人看 确实该记录一下每天做了什么了 不然感觉有些浑浑噩噩了 比赛介绍 全称: 蓝桥杯全国软件和信息技术专业人才大赛 蓝桥杯 实 ...
- NOIP赛前集训备忘录(含每日总结)(日更?。。。)
NOIP赛前集训备忘录(含每日考试总结) 标签: 有用的东西~(≧▽≦)/~啦啦啦 阅读体验:https://zybuluo.com/Junlier/note/1279194 考试每日总结(这个东西是 ...
- 20190719-FirstZero
这也许也是一个成就吧? First Zero 考试 第一次 爆0 好了好了. T1 你永远不知道你在想什么. 我仿佛想出一个$\Theta(NM\log^2 N)$的$dfs$??? 蒟蒻原地爆炸 T ...
- 2018 ACM-ICPC Asia Beijing Regional Contest (部分题解)
摘要 本文主要给出了2018 ACM-ICPC Asia Beijing Regional Contest的部分题解,意即熟悉区域赛题型,保持比赛感觉. Jin Yong’s Wukong Ranki ...
- The 2018 ACM-ICPC Asia Qingdao Regional Contest(部分题解)
摘要: 本文是The 2018 ACM-ICPC Asia Qingdao Regional Contest(青岛现场赛)的部分解题报告,给出了出题率较高的几道题的题解,希望熟悉区域赛的题型,进而对其 ...
随机推荐
- 使用idrac远程管理卡操作安装Centos
浏览器打开远程管理网卡地址(浏览器建议用IE,本次用的IE11,其他浏览器可能不能用) 1.首先设置虚拟控制台插件类型(推荐该为本地) 点击启动后,可能会弹窗,选择允许 2.添加镜像 创建虚拟介质 连 ...
- 设计模式实战研磨 ——第1篇 UML环境搭建
starUML是开源的基于统一模式语言与模式驱动开发的平台,前身是Plastic,从1996年开始开发.1998年开始,Plastic转变为UML建模工具.2005年改名为StarUML,最新版本St ...
- P3369 【模板】普通平衡树
纯板子.... 题意: 插入 xx 数 删除 xx 数(若有多个相同的数,因只删除一个) 查询 xx 数的排名(排名定义为比当前数小的数的个数 +1+1 .若有多个相同的数,因输出最小的排名) 查询排 ...
- iOS端实现节日换肤
本文是我在网上看到一篇不错的文章,因为之前没接触过,所以特意转过来,和大家一起分享下..以下正文: 一.问题的提出 不知道大家有没有发现, 元旦期间, 很多APP界面里的图标都换成了具有节日气氛的样式 ...
- 洛谷P3195||bzoj1010 [HNOI2008]玩具装箱TOY
洛谷P3195 bzoj1010 设s数组为C的前缀和 首先$ans_i=min_{j<i}\{ans_j+(i-j-1+s_i-s_j-L)^2\}$ (斜率优化dp)参考(复读)https: ...
- Django的用户认证组件,自定义分页
一.用户认证组件 1.auth模块 from django.conrtrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1)authen ...
- I - Defeat the Enemy UVALive - 7146 二分 + 贪心
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...
- Spark Mllib里如何生成KMeans的训练样本数据、生成线性回归的训练样本数据、生成逻辑回归的训练样本数据和其他数据生成
不多说,直接上干货! 具体,见 Spark Mllib机器学习(算法.源码及实战详解)的第2章 Spark数据操作
- CentOS6.x之emacs安装配置编译
刚开始学习linux,干学没什么意思,想在linux下写写程序,了解到linux下使用较多的是emacs和vim,在youtobe上分别看了看这两个工具进行开发的视频,个人感觉emacs比较酷一点,所 ...
- agc015F - Kenus the Ancient Greek(结论题)
题意 题目链接 $Q$组询问,每次给出$[x, y]$,定义$f(x, y)$为计算$(x, y)$的最大公约数需要的步数,设$i \leqslant x, j \leqslant y$,求$max( ...