我又双叒叕被包菜辣!

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】的更多相关文章

  1. 洛谷 题解 P1600 【天天爱跑步】 (NOIP2016)

    必须得说,这是一道难题(尤其对于我这样普及组205分的蒟蒻) 提交结果(NOIP2016 天天爱跑步): OJ名 编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间 Libre ...

  2. 洛谷 题解 UVA572 【油田 Oil Deposits】

    这是我在洛谷上的第一篇题解!!!!!!!! 这个其实很简单的 我是一只卡在了结束条件这里所以一直听取WA声一片,详细解释代码里见 #include<iostream> #include&l ...

  3. 题解 P4613 【[COCI2017-2018#5] Olivander】

    话说这道题,作为一个哈迷,是不能错过的 我很惊讶本蒟蒻竟然看得懂题面 好了,闲话少说,这道题,虽说是入门难度,但凭着良心说,它还是一道普及 - 的吧 看到标签,“高性能”,大脑的第一反应是快读. 是不 ...

  4. 洛谷题解P4314CPU监控--线段树

    题目链接 https://www.luogu.org/problemnew/show/P4314 https://www.lydsy.com/JudgeOnline/problem.php?id=30 ...

  5. 洛谷题解 CF777A 【Shell Game】

    同步题解 题目翻译(可能有童鞋没读懂题面上的翻译) 给你三张牌0,1,2. 最初选一张,然后依次进行n次交换,交换规则为:中间一张和左边的一张,中间一张和右边一张,中间一张和左边一张...... 最后 ...

  6. 洛谷题解 CF807A 【Is it rated?】

    同步题解 题目 好吧,来说说思路: 1.先读入啦~(≧▽≦)/~啦啦啦 2.判断a[i]赛前赛后是否同分数,如果分数不同,则输出,return 0 . 3.如果同分数,则判断a[i]赛前(或赛后)是否 ...

  7. 洛谷题解 P1138 【第k小整数】

    蒟蒻发题解了 说明:此题我用的方法为桶排(我翻了翻有人用了桶排只不过很难看出来,可能有些重复的,这个题只是作为一个专门的桶排来讲解吧) (不会算抄袭吧 ‘QWaWQ’) 简单来说(会的人跳过就行): ...

  8. 【洛谷题解】P2303 [SDOi2012]Longge的问题

    题目传送门:链接. 能自己推出正确的式子的感觉真的很好! 题意简述: 求\(\sum_{i=1}^{n}gcd(i,n)\).\(n\leq 2^{32}\). 题解: 我们开始化简式子: \(\su ...

  9. 洛谷题解 P2865 【[USACO06NOV]路障Roadblocks】

    链接:https://www.luogu.org/problemnew/show/P2865 题目描述 Bessie has moved to a small farm and sometimes e ...

随机推荐

  1. 01-MyBatis启动流程分析

    目录 MyBatis简单介绍 启动流程分析 简单总结 附录 MyBatis内置别名转换 参考 MyBatis简单介绍 MyBatis是一个持久层框架,使用简单,学习成本较低.可以执行自己手写的SQL语 ...

  2. 去除word文档页眉处的横杠

    ​ 如何去除上图word文档页眉处的横杠 wps软件使用者 第一步双击页眉,到页眉页脚: ​ 第一步点击上图页眉横线,点击无线型或者删除横线即可: ​ ​ ​ Microsoft Office 专业增 ...

  3. PHP Notice: Undefined index:解决方法

    PHP Notice:  Undefined index:解决方法 PHP Notice: Undefined index: 解决方法 <pre> if (empty(swoole_get ...

  4. python函数的基本语法<三>

    实参和形参: 定义函数括号里的一般叫形参 调用时括号里传递的参数一般叫实参 def students(age): print('my age is %s' % age) students(18) ag ...

  5. Spark性能优化指南——基础篇(转)

    [转]Spark性能优化指南——基础篇 http://mp.weixin.qq.com/s?__biz=MjM5NDMwNjMzNA==&mid=2651805828&idx=1&am ...

  6. setState何时同步,何时异步,为什么?

    setState何时同步,何时异步,为什么 答案:在React库控制时,异步:否则同步. 示例代码如下: constructor(props){ super(porps); this.state = ...

  7. Zabbix-(六) JMX监控

    Zabbix-(六) JMX监控 一.前言 Zabbix提供了JMX监控,它通过JMX API获取JVM信息,从而提供监控数据.本文讲述使用JMX监控Tomcat的JVM信息. 准备 Zabbix S ...

  8. C语言I博客作业09

    问题 答案 这个作业的属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-4/homework/10034 我 ...

  9. systemd单元文件

    前面我们提到过systemd启动可以对相相互依赖的串行的服务,也是可以并行启动的.在systemd中使用单元替换init的脚本来进行系统初始化.这节将要介绍系统初始化中,作为systemd的最小单元, ...

  10. VMware NAT模式ping通外网[CentOS7]

    使用一张网卡,NAT模式 在编辑里打开虚拟网络编辑器 dhcp设置的范围 你的虚拟机的IP 就在那个范围里 NAT设置里有填网关 这里我们vmware 的设置就OK了 在去把你的网络适配器改下iP 这 ...