安徽2014京胜杯程序设计大赛题解.DOC

安徽2014京胜杯程序设计大赛题解

安徽省2014年“京胜杯” 大学生程序设计竞赛题解 目录 Problem A 死神君 Problem B 幸运抽奖 Problem C 雨花石 Problem D 路边骗局 Problem E 闭合折线 Problem F 中位数 Problem G 国王的战争 Problem H 图像匹配 Problem I 关于最大公约数的疑惑 Problem J 一道简单的几何变换 2014.5 A.死神君 Time Limit: 1s 本题只要不断找到一个“低--高--低”的极值点,将中间高的蜡烛与它旁边两支蜡烛中较高的那支合并即可。找出所有极值点合并以后,将会得到一个递增或递减的序列,此时只要从较高的那一头两两合并,便能得出最大值。 处理方面,我们注意到如果第一支(就是排在最左边的)蜡烛比第二支蜡烛要高,那么它们必然要合并,如果比第二支低我们就继续往下找第三支,直到出现了“低--高--低”的组合,我们直接对其进行处理,直到维护出一个递增的序列,用栈做维护即可,具体请见代码。 本题可以找出规律,按照上面的计算方法得出的结果,与min(ai,ai+1)(i=1,2...n-1)这n-1个数的累加和结果相同的,比赛的时候过的人基本都是用了这种方法,一不小心就被水过去了,具体证明我就不写了,是可以验证结果一致的。 标程: #include iostream #inclu

文档评论(0)

1亿VIP精品文档

相关文档