洛谷 题解 P4613 【[COCI2017-2018#5] Olivander】
我又双叒叕被包菜辣!
P4613 [COCI2017-2018#5] Olivander
首先,不知道为什么这题无法提交翻译;
所以,我先放个翻译:
哈利波特在与伏地魔的战斗中损坏了他的魔杖。他决定在奥利凡德的魔杖店买一根新的
魔杖。在商店的地板上,他看到了n根魔杖和n个魔杖盒。魔杖的长度分别是,x1,x2,
…,xn,盒子的尺寸是y1,y2,….y.如果x≤y,可以将x长度的魔杖放在y尺寸的盒子中。
哈利想知道他是否能把所有的魔杖都放在盒子里,这样每个盒子里只有一根魔杖。
帮助他解决这个难题。如果可以放入即输出“DA”,否则输出“NE”;
我先讲一下这道题的正解,先把魔杖的长度和盒子的长度按从大到小排序,然后依次对比每个魔杖的长度和盒子的长度,如果Rep(1, n)中存在x[i] > y[i]那么就无法成功装入。先上代码,讲解在后面(如果只是为了抄代码的就不用往后翻了:
#include<bits/stdc++.h>
using namespace std;
#define maxn 110//数据很小,空间很大,你想开多大就多大(划掉
int n, x[maxn], y[maxn];//x[i]和y[i]都如题,分别是魔杖的长度和盒子的长度
bool cmp(int a, int b)//排序用的cmp,从大到小。
{
return a > b;
}
int main()
{
scanf("%d", &n);//个数
for(int i = 1; i <= n; ++ i)
scanf("%d", &x[i]);//魔杖的长度
for(int i = 1; i <= n; ++ i)
scanf("%d", &y[i]);//盒子的长度
sort(x + 1, x + n + 1, cmp);//从大到小排序,其实也可以从小到大,在后面逆序一下就行了,只有保证有序即可
sort(y + 1, y + n + 1, cmp);//同上
for(int i = 1; i <= n; ++ i)
if(y[i] < x[i])//存在魔杖的长度比盒子的长度要大
{
printf("NE");//输出
return 0;
}
printf("DA");//输出
return 0;
}
然后,开始分析这道题(好水:
我们试想一下,如果存在x[k]比y[k]要大,那么我没会发生什么?
设k前面有只有一个数
x[] : 10 8
y[] : 11 7
很明显在k这一组,y[k]不可能装下x[k],
又因为我们已经排好序了,所以在y[k]后面的一点不可能比y[k]大。
那么只可能是y[k],比如说y[m],前面的来装x[k],如果前面的来装x[k]了;
那么y[m]怎么办?x[k]肯定装不了,继续往前?那第一个怎么办?
所以,证毕。
PS:请看懂再抄
洛谷 题解 P4613 【[COCI2017-2018#5] Olivander】的更多相关文章
- 洛谷 题解 P1600 【天天爱跑步】 (NOIP2016)
必须得说,这是一道难题(尤其对于我这样普及组205分的蒟蒻) 提交结果(NOIP2016 天天爱跑步): OJ名 编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间 Libre ...
- 洛谷 题解 UVA572 【油田 Oil Deposits】
这是我在洛谷上的第一篇题解!!!!!!!! 这个其实很简单的 我是一只卡在了结束条件这里所以一直听取WA声一片,详细解释代码里见 #include<iostream> #include&l ...
- 题解 P4613 【[COCI2017-2018#5] Olivander】
话说这道题,作为一个哈迷,是不能错过的 我很惊讶本蒟蒻竟然看得懂题面 好了,闲话少说,这道题,虽说是入门难度,但凭着良心说,它还是一道普及 - 的吧 看到标签,“高性能”,大脑的第一反应是快读. 是不 ...
- 洛谷题解P4314CPU监控--线段树
题目链接 https://www.luogu.org/problemnew/show/P4314 https://www.lydsy.com/JudgeOnline/problem.php?id=30 ...
- 洛谷题解 CF777A 【Shell Game】
同步题解 题目翻译(可能有童鞋没读懂题面上的翻译) 给你三张牌0,1,2. 最初选一张,然后依次进行n次交换,交换规则为:中间一张和左边的一张,中间一张和右边一张,中间一张和左边一张...... 最后 ...
- 洛谷题解 CF807A 【Is it rated?】
同步题解 题目 好吧,来说说思路: 1.先读入啦~(≧▽≦)/~啦啦啦 2.判断a[i]赛前赛后是否同分数,如果分数不同,则输出,return 0 . 3.如果同分数,则判断a[i]赛前(或赛后)是否 ...
- 洛谷题解 P1138 【第k小整数】
蒟蒻发题解了 说明:此题我用的方法为桶排(我翻了翻有人用了桶排只不过很难看出来,可能有些重复的,这个题只是作为一个专门的桶排来讲解吧) (不会算抄袭吧 ‘QWaWQ’) 简单来说(会的人跳过就行): ...
- 【洛谷题解】P2303 [SDOi2012]Longge的问题
题目传送门:链接. 能自己推出正确的式子的感觉真的很好! 题意简述: 求\(\sum_{i=1}^{n}gcd(i,n)\).\(n\leq 2^{32}\). 题解: 我们开始化简式子: \(\su ...
- 洛谷题解 P2865 【[USACO06NOV]路障Roadblocks】
链接:https://www.luogu.org/problemnew/show/P2865 题目描述 Bessie has moved to a small farm and sometimes e ...
随机推荐
- 使用vue-cookies操作cookie
1.前言 在vue中如果想要操作cookie,除了使用之前我们自己封装好的操作cookie的方法之外,我们还可以使用vue-cookies插件,这是一个简单的Vue.js插件,专门用于在vue中处理浏 ...
- ElasticSearch(六):索引模板
ElasticSearch(六):索引模板 学习课程链接<Elasticsearch核心技术与实战> Index Template Index Template - 帮助你设定Mappin ...
- mjpg-stream 视频服务 (1)| 简介与配置树莓派使用
源码地址为:https://github.com/jacksonliam/mjpg-streamer Mjpg简介: (1)mjpg-streamer是一个命令行应用程序,它将JPEG帧从一个或多个输 ...
- win7 安装php插件imagick
win7 安装php插件imagick <h2>安装步骤:</h2><h2><a name="t1"></a> ...
- ReactJS的4行代码
Angular 2一个显著的变动是,把Angular 1的Promise pattern改成了Observer pattern,并且使用了ReactJS.这里有一篇值得一读的文章 要搞懂ReactJS ...
- 【笔记】nginx部署静态网站
安装nginx 本地到官网下载,然后把压缩包传到服务器上 安装三个依赖 apt-get install libpcre3 libpcre3-dev apt-get install zlib1g-dev ...
- nyoj 257 郁闷的C小加(一)(栈、队列)
郁闷的C小加(一) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 我们熟悉的表达式如a+b.a+b*(c+d)等都属于中缀表达式.中缀表达式就是(对于双目运算符来说 ...
- 力扣(LeetCode)亲密字符串 个人题解
给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true :否则返回 false . 示例 1: 输入: A = "ab& ...
- web前端面试经常遇得到的题型
1.position的值, relative和absolute分别是相对于谁进行定位的? § absolute :生成绝对定位的元素, 相对于最近一级的 定位不是 static 的父元素来进行定位. ...
- 剑指Offer-27.字符串的排列(C++/Java)
题目: 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入 ...