【题解】 2月19日 厦门双十中学NOIP2014模拟D2 T2 采药人接水果
【问题描述】
采药人虽然 AFO(SU),但他在闲暇的时候还是可以玩一玩接水果(cat)的。但他渐渐发现 cat 好像有点太弱智。于是他不想浪费他的智商,于是决定写一个程序帮他玩。
cat 是这样玩的,开始时没有水果,采药人可以自己选择他所在的位置。接下来每隔 \(1\) 秒会有一个水果落到地上,而且第 \(i\) 秒落下的水果落到 \(x_i\) 这个位置,得分为 \(1\)。而采药人每秒只能移动一单位长度,但他不需要担心到了水果落下的位置还接不到水果,而且接水果不需要时间。采药人当然希望自己的分数越高越好。
采药人觉得写这个程序也太简单了,并且得分过低,于是他写了个挂,将接水果的一个人变成了两个人。但他却突然不想写 auto 程序了?这时转头看见了正在拼命切题的你,于是毫不犹豫地把这个问题交给了你。
【输入格式】
第 \(1\) 行:一个正整数 \(n\),游戏时间有 \(n\) 秒
接下来 \(n\) 行:第 \(i+1\) 行,一个正整数 \(x_i\)
【输出格式】
共 \(1\) 行:最大得分
【数据范围】
对于 \(30\%\) 的数据,\(n\leqslant100\)
对于 \(60\%\) 的数据,\(n\leqslant1000\)
对于 \(80\%\) 的数据,\(n\leqslant10000\)
对于 \(100\%\) 的数据,\(n\leqslant500000\), \(x_i\leqslant50000\)
Solution
考虑用二元组 \((x,y)\) 来表示一个水果,其含义为 (出现时间, 出现位置)。
假设我们已经拿了第 \(a\) 个水果,接下来要去拿第 \(b\) 个水果,则需要满足的条件为:
\[
|b_y-a_y|\leqslant b_x-a_x
\]
\[
a_x-b_x\leqslant a_y-b_y\leqslant b_x-a_x
\]
\[
\begin{cases}
a_x+a_y\leqslant b_x+b_y\\
a_x-a_y\leqslant b_x-b_y
\end{cases}
\]
发现是个二维偏序的关系,由于有两个人接,求最长 \(2\) 不相交子序列即可。
【题解】 2月19日 厦门双十中学NOIP2014模拟D2 T2 采药人接水果的更多相关文章
- 【题解】 2月19日 厦门双十中学NOIP2014模拟D2 T1 采药人的切题规则
Made by 退役的OIer 第一次写博客,写得不好 or 不清楚的可以 在下方留言,我会尽量改进的! 好啦~~~回到正题,题面见传送门 [问题描述] 采药人最近在认真切题,但回旋的转盘时常在眼前浮 ...
- 【Usaco 2009 Gold】JZOJ2020年9月19日提高B组T4 过路费
[Usaco 2009 Gold]JZOJ2020年9月19日提高B组T4 过路费 题目 Description 跟所有人一样,农夫约翰以着宁教我负天下牛,休叫天下牛负我的伟大精神,日日夜夜苦思生财之 ...
- 【Usaco 2009 Gold】JZOJ2020年9月19日提高B组T3 头晕的奶牛
[Usaco 2009 Gold]JZOJ2020年9月19日提高B组T3 头晕的奶牛 题目 Description 奶牛们发现,在农场里面赛跑是很有趣的一件事.可是她们一旦在农场里面不断地转圈,就会 ...
- 【Usaco 2009 Gold 】JZOJ2020年9月19日提高B组T2 电视游戏问题
[Usaco 2009 Gold ]JZOJ2020年9月19日提高B组T2 电视游戏问题 题目 Description 农夫约翰的奶牛们游戏成瘾!本来FJ是想要按照陶叫兽的做法拿她们去电击戒瘾的,可 ...
- 【Usaco 2009 Silver】JZOJ2020年9月19日提高B组T1 音乐节拍
[Usaco 2009 Silver]JZOJ2020年9月19日提高B组T1 音乐节拍 题目 Description FJ准备教他的奶牛弹奏一首歌曲,歌曲由N(1<=N<=50,000) ...
- Python array,list,dataframe索引切片操作 2016年07月19日——智浪文档
array,list,dataframe索引切片操作 2016年07月19日——智浪文档 list,一维,二维array,datafrme,loc.iloc.ix的简单探讨 Numpy数组的索引和切片 ...
- 2016年12月19日 星期一 --出埃及记 Exodus 21:14
2016年12月19日 星期一 --出埃及记 Exodus 21:14 But if a man schemes and kills another man deliberately, take hi ...
- 2016年11月19日 星期六 --出埃及记 Exodus 20:10
2016年11月19日 星期六 --出埃及记 Exodus 20:10 but the seventh day is a Sabbath to the LORD your God. On it you ...
- 2016年10月19日 星期三 --出埃及记 Exodus 19:3
2016年10月19日 星期三 --出埃及记 Exodus 19:3 Then Moses went up to God, and the LORD called to him from the mo ...
随机推荐
- kafka概念扫盲
一.kafka概述 1.1.定义 Kakfa是一个分布式的基于发布/订阅模式的消息队列(message queue),主要应用于大数据的实时处理领域 1.2.消息队列 1.2.1.传统的消息队列&am ...
- DNS隧道基础
DNS协议是一种请求/应答协议,也是一种可用于应用层的隧道技术.虽然激增的DNS流量可能会被发现,但基于传统socket隧道已经濒临淘汰鸡TCP.UDP通信大量被防御系统拦截的状况,DNS.ICMP. ...
- os 模块 的常用方法讲解
import osprint(os.getcwd()) #拿到当前文件的目录os.chdir(r'E:\pycharm 5.3 wenjian weizhi ')#改变当前脚本的工作目录 'r'表示原 ...
- Struts(四)
1.Struts 2提供了非常强大的类型转换功能,提供了多种内置类型转换器,也支持开发自定义类型转换器2.Struts 2框架使用OGNL作为默认的表达式语言 ==================== ...
- Spring注入bean的方式
在Spring容器中为一个bean配置依赖注入有三种方式: · 使用属性的setter方法注入 这是最常用的方式: · 使用构造器注入: · 使用Filed注入(用于注解方式). 使用属性的se ...
- QtGui实现计算圆的面积
dialog.h #ifndef DIALOG_H #define DIALOG_H #include <QtWidgets/QDialog> #include <QtWidgets ...
- python学习记录(九)
0911--https://www.cnblogs.com/fnng/archive/2013/05/08/3066054.html 魔法方法.属性 准备工作 为了确保是新型类,应该把_metacla ...
- 基于TensorFlow的MNIST手写数字识别-深入
构建多层卷积神经网络时需要多组W和偏移项b,我们封装2个方法来产生W和b 初级MNIST中用0初始化W和b,这里用噪声初始化进行对称打破,防止产生梯度0,同时用一个小的正值来初始化b避免dead ne ...
- Python爬虫小结
有些数据是没有专门的数据集的,为了找到神经网络训练的数据,自然而然的想到了用爬虫的方法开始采集数据.一开始采用了网上的一个动态爬虫的代码,发现爬取的图片大多是重复的,有效图片很少. 动态爬虫: fro ...
- Codeforces 922 C - Robot Vacuum Cleaner (贪心、数据结构、sort中的cmp)
题目链接:点击打开链接 Pushok the dog has been chasing Imp for a few hours already. Fortunately, Imp knows that ...