博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 2831 (贪心)
阅读量:6706 次
发布时间:2019-06-25

本文共 511 字,大约阅读时间需要 1 分钟。

题目链接

题目大意:植物大战僵尸。给定种植植物时间间隔t,以及每个僵尸的到达时间v,生命d。问是否能赢。

解题思路

按照打完每只Zombie之后剩余时间v-d,从小到大排序。

理由如下:

设打完第i只Zombie的剩余时间为:$Remain(v,d)=V-i*t-D$

那么本题的目标函数为:$arg\max \limits_{i}\sum Remain(v,d)=V-i*t-D$

所以,应当尽可能把v-d较小的值放在i的前面,让Remain(v,d)尽可能大。

排序完之后,进行模拟,now=0,当前时间为0

从第1只Zombie算起,now+=t:

$if \quad Attack Time<D \quad then\quad GameOver$

注意,不可以取等,样例说明,正好到达位置被打死也会GameOver。

#include "cstdio"#include "algorithm"using namespace std;struct Zombie{    int v,d,idx;    bool operator < (const Zombie &a) const {
return v-d

 

转载地址:http://iqflo.baihongyu.com/

你可能感兴趣的文章
2012-2-7
查看>>
The type XXX cannot be resolved 解决方法
查看>>
C#也能PS图片,还能为网站Ajax上传图片同时生成微缩图(附Demo)
查看>>
山的那边是什么?写在H3CSE考后
查看>>
标注添加信息窗口
查看>>
XenApp
查看>>
system sys,sysoper sysdba 的区别
查看>>
将数据导入数据库
查看>>
Django 获取 Form 表单数据
查看>>
分布式系统关注点(19)——深入浅出「异步」
查看>>
看书摘要:c语言常见问题集【2】
查看>>
Openstack 自制linux kvm debian6镜像
查看>>
django cmdb增删改查
查看>>
1-2路由器基本配置命令
查看>>
怎么样才能写好网页的页面主题以及描述呢?
查看>>
在Win7“F8安全模式”下怎么修复系统故障?
查看>>
PHP中exec,system等函数调用系统命令详解
查看>>
DM***
查看>>
RHEL5中DHCP服务的搭建
查看>>
node连接mysql数据库
查看>>