CodeForces 545C - Woodcutters(贪心)

题目链接 https://cn.vjudge.net/problem/CodeForces-545C

【题意】
无限长的数轴上有n个点,每个点的坐标为x[i],种有高度为h[i]的树,现在要把一些树砍到,被砍倒的树要么倒向左边,要么倒向右边,会分别把[xi - hi, xi] 和 [xi,xi + hi]占用,如果某棵树不被砍倒,那么它就只占用x[i]这一个点的位置,现在给定你n个点的x[i],h[i],问最多能砍倒几棵树?(n<=1e5, x[i],h[i]<=1e9)

【思路】
贪心问题,很关键的地方在于对于某个区间[xi,x(i+1)]来说,这段区间要么被xi利用,要么被x(i+1)利用,要么被它们两个都利用,要么都不用,只有这四种可能。所以n个点把数轴划成了n+1个区间,我们从左往右依次枚举这n+1个区间即可,尽可能地让这些区间占用更多的树即可

#include<bits/stdc++.h>
using namespace std;

const int
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值