Greedy --- HNU 13320 Please, go first
Please, go first
Problem's Link: http://acm.hnu.cn/online/?action=problem&type=show&id=13320
Mean:
n个人一起去滑雪,要坐电梯到山顶,电梯每5分钟可以送一个人上去。这n个人中有的是组好团一起滑雪的,所以要等到齐了才能开始滑。
但是他们到达电梯下的时间都不是统一的,对于单独一个人来说,他在山下等和在山上等的时间都是一样的。
但是对于n个人的集体来说,如果让他后面的人先上去,这样可能会更节省时间。
求通过调整上电梯的顺序后最多可以节省多少时间。(PS:被这鬼题意坑死 ==||)
analyse:
典型的贪心题。
首先我们来分析未调整之前的状态:
对于一个人,不管你来得多早,你还是得等到和你一个团的最后来的那个人才能开始滑雪。
这样时间浪费在哪里了呢?如果是这种情况:AABBBBBBBBBBBBBBABBB,如果我们变成AAABBBBBBBBBBBBBBBBB,
虽然B团队的时间没变,但是对于A团队来说却节省了很多时间。要贪心的地方就在这。
如何贪呢?
首先需要明确的是:我们不能把同一个团中最后到的那个人提前(人都还没到怎么提),而只能把中间掺杂的其他团的人提前,
而最优情况肯定是:让同一个团的尽量聚合在一起,这样等待的时间才是最少的。
综合这两个条件,我们首先求出未调整队形之前的每种元素的最左边的的位置。
然后按照这个数组来个字符串排序(1.同一个团队的人聚合在一起;2.不同团队之间按照最后的人位置来排序)。
最后对于每个元素,我们求这个元素调整前和调整后的位置之差,累加,最后*5即得答案。
Time complexity: O(N)
Source code:
);
; ; ;
; ;
}
/*
*/
Greedy --- HNU 13320 Please, go first的更多相关文章
- USACO . Greedy Gift Givers
Greedy Gift Givers A group of NP (2 ≤ NP ≤ 10) uniquely named friends has decided to exchange gifts ...
- hdu4976 A simple greedy problem. (贪心+DP)
http://acm.hdu.edu.cn/showproblem.php?pid=4976 2014 Multi-University Training Contest 10 1006 A simp ...
- HNU 12906 Battleship
题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12906 解题报告:题目意思看了很久都没懂,就是一个10*10的 ...
- HNU 12888 Encryption(map容器)
题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12890&courseid=274 解题报告:输入一个有 ...
- HNU 12886 Cracking the Safe(暴力枚举)
题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12886&courseid=274 解题报告:输入4个数 ...
- HNU 12885 Bad Signal(模拟)
题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12885&courseid=274 解题报告:一共有n个 ...
- HNU 12868 Island (简单题)
题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12868&courseid=272 解题报告:输入n*m ...
- HNU 12869 Sequence(循环节)
题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12869 解题报告:看到n的范围这么大,一看就是找规律,把前30 ...
- ACM Greedy Mouse
Greedy Mouse 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 A fat mouse prepared M pounds of cat food,read ...
随机推荐
- java.lang.OutOfMemoryError: PermGen space PermGen space & java.lang.OutOfMemoryError: Java heap space Heap siz
java.lang.OutOfMemoryError: PermGen space PermGen space 由-XX:PermSize -XX:MaxPermSize 引起 java.lang. ...
- EXCELL中怎么将两列数据对比,找出相同的和不同的数据?
假设你要从B列中找出A列里没有的数据,那你就在C1单元格里输入“=IF(ISNA(VLOOKUP(B1,A:A,1,0)),"F","T")”显示T就表示有,F ...
- magic_quotes_gpc 、 magic_quotes_runtime 、 magic_quotes_sybase 介绍
一.三个配置项的作用与区别 magic_quotes_gpc 作用:对php服务器端接收的 GET POST COOKIE 的值执行 addslashes() 操作.作用范围是:WEB客户服务端.作用 ...
- 使用Struts+Hibernate开发学生信息管理系统
1.项目组织结构 2.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app vers ...
- C#判断一个string是否为数字
案一:Try...Catch(执行效率不高) private bool IsNumberic(string oText) { try { int var1=Convert.ToInt32 (oText ...
- android学习者优秀网址推荐
非常漂亮的android UI库集合,别人整理的,如果感觉不错,赶快收藏吧!! https://github.com/wasabeef/awesome-android-ui https://githu ...
- TokuDB调研文档
另见链接:http://note.youdao.com/share/?id=77dd1e9cc139b57586665f702467c56a&type=note 安装 安装主要包括两种方法 ...
- Java Web 工作技巧总结 16.8
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! 四时不谢之兰,百节长青之竹,万古不败之石,千秋不变之人. 1. AOP – LOG项目中,一个请 ...
- 利用decorator和descriptor进行数据缓存
class cached_property(object): def __init__(self, func, name=None, doc=None): self.__name__ = name o ...
- php 连接redis,并登录验证
环境: centos7 上安装了redis, 同时安装了php的redis扩展 yum install redis yum install php-pecl-redis redis服务端设置了登录密码 ...