51nod1431 快乐排队
有一群人在排队,如果某个人想排到前面去,可以花一元钱给直接站在他前面的人,然后和这个人交换位置。如果自己没有钱了,就不能和前面的人交换。
但是呢,队列里面的人觉得排他前面的所有人一定要比较有钱的,至少不能比他自己拿的少。否则里面就会有人生气。站在队头的人一定是高兴的。
现在给出一个队列的初始状态,问能不能调整队列,使得里面的人都高兴。
样例解释:样例1中,队尾的人可以和前面的人交换,变成9 10。
单组测试数据。 第一行包含一个整数n (1 ≤ n ≤ 200,000),表示队列中的人数。 第二行包含n个空格分开的整数 ai (0 ≤ ai ≤ 10^9),ai表示队列中第i个人手上拿的钱。编号从队尾开始。
对于每一组数据如果能够使得所有人高兴输出Happy,否则输出Sad。
2 11 8 2 9 8
Happy Sad
题解:orz讨论区dalao。
对读入的所有数字加上其到队头的距离后的结果判重即可。
但是,为什么这样做是对的?考虑有可能造成序列不合法的数字对,必定是初始位置在前面的数值比后面的小。但是,要将这两个数移到一起,发现前者比后者小一,才能直接判断不合法。于是,需要把中间的数移开。假设中间的数字已经形成了合法的序列(如果不合法必定可以用同样的方法在中间的某个位置判断出来),如果中间的某个数字大于等于较大数,这个数字必定大于较小数,移走这个数字会给较小数加上一;如果中间的某个数字小于较大数,移走这个数字会给较大数减去一。由于中间的数字已经形成了合法的序列,满足单调不上升,因此大于等于较大数的数字都排在前面,必定可以从大到小依次通过较小数;对于较大数同理。不断地移走中间数的过程中,对于前后两者之差,任意一个中间数的影响恒为减一;因为要求两数并拢,所有中间数对两者差的综合影响恒为减去中间数的个数。于是就得到不合法状态的判断式子:存在i,j(i>j),满足a[i]-a[j]=i-j,其中a[k]表示队头起第k个数。将等式变换一下,即得:a[i]-i=a[j]-j。
注意本题中的读入是从队尾到队头的。
代码:
#include<bits/stdc++.h>
using namespace std;
int n,i,a[1000000];
int main(){scanf("%d",&n);for(i=1;i<=n;i++)scanf("%d",&a[i]),a[i]+=i;sort(a+1,a+n+1);for(i=1;i<=n;i++)if(a[i]==a[i-1]){printf("Sad");return 0;}printf("Happy");
}
51nod1431 快乐排队相关推荐
- 51nod快乐排队 1431
题意: 1431 快乐排队 1.0 秒 131,072.0 KB 80 分 5级题 有一群人在排队,如果某个人想排到前面去,可以花一元钱给直接站在他前面的人,然后和这个人交换位置.如果自己没有钱了,就 ...
- 51 nod 1431 快乐排队
1431 快乐排队 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 有一群人在排队,如果某个人想排到前面去,可以花 ...
- 51nod 1431 快乐排队
题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 有一群人在排队,如果某个人想排到前面去,可以花一元钱给直接站在他前 ...
- 51单片机可以晚电子游戏吗_电子游戏是在浪费时间吗
51单片机可以晚电子游戏吗 Late in July, Joe Rogan made a comment on video games in episode #1514 of his prolific ...
- 深圳“拍了拍”长沙:美食巨头文和友、茶颜、徐记海鲜正在“排队”签收
来源:螳螂财经 作者:易不二 5万人排队,文和友+茶颜悦色的超级IP叠加成了热搜:霸榜美食TOP 1,徐记海鲜成为新晋人气王......作为长沙美食的三张名片,文和友.茶颜悦色.徐记海鲜,一起在这个春 ...
- 虽然苏伊士运河大堵塞了,但是全球“玩家”收获了真实的快乐
来源|蚕豆网 ID|candouwang 作者|蚕豆君 终于恢复了! 在苏伊士运河上"横"了六天的巨型货轮"长赐"号周一终于脱浅并恢复到了正常航道. 苏伊士运河 ...
- 考研到底有多累?有人心累,有人很快乐
转载于 博雅数据库 不是每天起早贪黑披星戴月有多累,也不是刷了多少题背了多少书有多累,而是心累,差点坚持不下去. 考研前心态一天比一天差,复习效率直线下降,最惨的时候给我妈打电话说考不上了. 身为一个 ...
- 深入浅出CChart 每日一课——快乐高四第五十六课 絮絮叨叨,岁月杀猪刀之FAQ
CChart发布已有多年,QQ交流群也成立了很久.在和网友的交流中,发行了CChart的很多问题,也进行了很多改进和完善. 网友们接触CChart的时间有早有晚,不同的网友经常在群里或私聊的时候提出的 ...
- 向美国人学习“如何快乐”
快乐是一个神奇的东西,如果你愿意分享,那么,一个快乐会变成N个快乐.本文提及许多关于美国人快乐和中国人不快乐的原因,绝非崇洋媚外,而是希望我们从中有所借鉴和启示,让自己越来越快乐. 美国一家调查机构在 ...
最新文章
- MapReduce 中 UDF、UDAF、UDTF
- java集合框架07——Map架构与源代码分析
- thinkphp mysql desc table_Thinkphp 连接数据库、查询、添加
- iphone屏幕录制_如何将iPhone投屏到Mac上?iphone投屏到苹果电脑方法
- android listview 数据同步,android中ListView数据刷新时的同步方法
- burp爆破线程设置多少_你知道线程池创建多少线程比较合理吗?
- 第一章:Python的基本数据类型-第二节:Python中表示“有序”(序列)的数据类型
- 服务器link系统命令,可以使用命令(7)来查看网络接口的运行情况。输入该命令后,系统的输出信息如下。...
- 二、三角高程测量计算(C#语言)
- linux学习笔记-切换目录
- 网上书店软件需求说明书
- win10添加新硬盘
- 计算机桌面计划,电脑桌面日程安排软件
- Word处理控件Aspose.Words功能演示:使用 Python 合并 Word 文档
- 【VBS教程3】:VBS如何激活指定窗口
- 别踩白块_前端H5游戏毕设
- 秒懂1U、2U、4U和42U服务器
- 【12月21日】A股滚动市盈率PE历史新低排名
- android时间格式am pm,将字符串在12(PM / AM)小时AM PM时间转换为24小时时间android
- 新拟态设计html,新拟态UI设计怎么做?来用Neumorphism在线工具吧
热门文章
- 钱多多软件制作第七天
- ECshop4.1版本搭建
- 不羡鸳鸯不羡仙,一行代码调半天。SpringBoot集成任务调度,实现每天定时发送天气预报,随时做好“广冻人”的心理准备
- html5的基本工作原理,HTML5基础开发教程
- 项目1----泰戈尔诗集
- 2021上半年程序员新书大盘点
- java编写某计算器控制台程序_计算器 - 进阶的憨狗 - 博客园
- shen_tian_hao的C++快快编程AC代码库(每周更新)
- 杂事记诗-- 读网文《穷鬼的上下两千年》有感
- java取石子_HDU 1527 取石子游戏