Codeforces Round #726 (Div. 2) C. Challenging Cliffs(贪心构造)

博客详细解析了Codeforces Round #726 (Div. 2) C题目的解法,重点在于通过贪心策略来构造使得山峰高度差最小且总难度最大的排列。首先按高度排序山峰,然后将高度差最小的两座山置于首尾,并讨论了不同数量山峰时的最优解情况,最终给出了实现代码。
摘要由CSDN通过智能技术生成

题目链接:https://codeforces.com/contest/1537/problem/C

题目大意:

        有n(1<=n<=2*10^5)座山,每座山有一个高度hi,(1<=hi<=10^9),我们需要从左到右排列山的顺序,需要首先让第一座山和最后一座山的高度差最小,在此的基础上,若h_{i}<=h_{i+1}则总难度加1,我们需要让总难度最大。输出任意一种满足条件的山的排列情况。

题解:

        首先将n座山按照高度从低到高排序。

        然后我们找出任意一对高度差最小的山,假设为h_{i},h_{i+1},先把它们放到首尾

        我们来思考下这种情况下的最优解。

        若只有两座山,那么此时就是最优解。

        有多座山

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值