Plants vs. Zombies (ZOJ - 4062,二分答案 + 细节)

Plants_Vs_Zombies_V1.0_Plus_9_Trainer_By_KelSat.exe 立即下载

一.题目链接:

ZOJ-4062

二.题目大意:

n 个植物排成一排.

水壶只能移动 m 步.

水壶一步移动一个单位长度,所到达的位置,该植物的防御值会相应增加.

求浇水之后,所有植物防御值中最小值最大可以为多少.

三.分析:

二分答案即可.

不过要加限制条件,在 check(mid) 函数中 cnt 可能会暴 long long.

这是因为,假设 n == 1e5,mid == 1e17 ,a[i] 均为 1.

此时,cnt 为 1e22.

所以要在 cnt 超过 mid后,立即 return 0.

中间用滚动数组 f 和 s 分别代表当前和下一株植物的防御值.

还有就是要特判一下最后一株植物.

四.代码实现:

#include <set>
#include <map>
#include <ctime>
#include <queue>
#include <cmath>
#include <stack>
#include <vector>
#include <cstdio>
#include <sstream>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#define eps 1e-6
#define pi acos(-1.0)
#define ll long long int
using namespace std;
const int M = (int)1e5;
const ll mod = (ll)1e9 + 7;
const int inf = 0x3f3f3f3f;

int n;
ll m;
int a[M + 5];

bool check(ll mid)
{
    ll f, s, x;
    f = s = 0;
    ll cnt = 0;
    int pos = 0;
    for(int i = 1; i < n; ++i)
    {
        if(cnt > m)
            return 0;
        if(pos == i - 1)
        {
            s += a[i];
            cnt++;
            pos = i;
            f = s;
            s = 0;
        }
        if(pos == i)
        {
            x = mid - f;
            if(x <= 0)
                continue;
            x = x / a[i] + !(x % a[i] == 0);
            cnt += 2 * x;
            s = a[i + 1] * x;
        }
    }
    if(s < mid)
    {
        x = mid - s;
        x = x / a[n] + !(x % a[n] == 0);
        cnt += 2 * x - !(pos == n);
    }
    return cnt <= m;
}

/**
1
3 8
59 6 97

24
**/

int main()
{
    int T;
    scanf("%d", &T);
    while(T--)
    {
        scanf("%d", &n);
        scanf("%lld", &m);
        for(int i = 1; i <= n; ++i)
            scanf("%d", &a[i]);
        ll l = 0;
        ll r = 1e18;
        ll mid;
        while(l < r)
        {
            mid = (l + r + 1) >> 1;
            if(check(mid))
                l = mid;
            else
                r = mid - 1;
        }
        printf("%lld\n", r);
    }
    return 0;
}

 

Plants vs. Zombies part3 好玩的植物战僵尸游戏 说明请参见part1 立即下载

相关推荐

PlantsVsZombies

植物大战僵尸

FlowMouse架构深度剖析:Manifest V3扩展中Service Worker与Content Script的协同实践

FlowMouse 是一款追求极致流畅的开源**鼠标手势扩展**,它基于 Manifest V3(MV3)构建,核心由后台 **Service Worker** 与页面内 **Content Script** 协同驱动。本文将用尽量少的代码,带你看清这两者如何分工、通信,并完成一次"指尖滑动 → 动作执行"的完整旅程。 [![FlowMouse 鼠标手势扩展设置界面截图,展示手势自定义配置](h

gitblog_00333的博客 151

植物大战僵尸源码Plants VS. Zombies_Too_Simple

植物大战僵尸源码Plants VS. Zombies_Too_Simple的flash as3.0游戏,这个不用说明吧。。相信大家都会玩。

Plants vs. Zombies【二分】

ZOJ - 4062 Plants vs. Zombies BaoBao and DreamGrid are playing the game Plants vs. Zombies. In the game, DreamGrid grows plants to defend his garden against BaoBao’s zombies. 题意:植物大战僵尸 一个长度为 nnn 的数组 array[1,n]array[1,n]array[1,n],初始值为0,每个元素有各自的增长速度a[i]a[i]

L_X_ 987

【R语言实例】物种分布模型介绍

SDM介绍

wong2016的博客 1万+

【数字IC设计】Centos 7桌面版 安装Synopsys EDA Tools

简称DC,是Synopsys公司用于做电路综合的核心工具,可以将HDL描述的电路转换为基于工艺库的门级网表。

qiumingT的博客 9805

PlantsVsZombies多平台部署指南:Windows、Android、iOS全攻略

PlantsVsZombies是一款基于cocos2dx 3.16引擎开发的经典塔防游戏,本指南将详细介绍如何在Windows、Android和iOS三大平台上部署这款游戏,让你轻松实现跨平台游戏体验。 ## 一、准备工作:环境搭建与项目获取 在开始部署前,确保你的开发环境满足以下要求: - Windows平台:Visual Studio 2015及以上版本 - Android平台:Andr

gitblog_00679的博客 1059

STC15单片机双串口通信实战:串口2配置与多设备交互

本文详细介绍了STC15单片机双串口通信的实战配置,重点解析串口2的硬件连接、寄存器设置及多设备交互实现。通过实际项目案例和完整代码示例,帮助开发者快速掌握STC15串口2的配置技巧,解决常见通信问题,提升嵌入式系统开发效率。

weixin_29174013的博客 256

Plants vs. Zombies

ZOJ - 4062 BaoBao and DreamGrid are playing the game Plants vs. Zombies. In the game, DreamGrid grows plants to defend his garden against BaoBao’s zombies. (Image from pixiv. ID: 21790160; Artist: s...

蒟蒻的博客 977

深入详解DICOM医学影像定位线相关知识:理解定位线的概念、定位线的作用以及定位线显示和计算原理

深入详解DICOM医学影像定位线相关知识:理解定位线的概念、定位线的作用以及定位线显示和计算原理

编程技术探索者,分享C/C++、C#、Java、数据库等开发经验,聚焦实战技巧与AI兴趣,助力编程爱好者成长。 2052

【推荐100个unity插件】实现逼真的雪与雨系统——Weatherade: Snow and Rain System

Weatherade是一款Unity雪天/雨天场景创建系统,支持内置RP和URP渲染管线,提供雪/雨覆盖着色器、地形支持、雪痕效果等特性。安装后需配置URP渲染器,通过添加覆盖实例和转换材质实现效果,支持手动调整或批量转换工具快速应用。系统包含完整演示场景,可通过官方文档了解更多配置细节。下载地址:Unity Asset Store或百度网盘学习版。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1222

plants vs zombies

plants vs zombies 翻译过来就是 植物大战僵尸。。。游戏画面

德罗德 461

【数据集】全球湿度数据集总结

【数据集】全球湿度数据集总结

WW、forever的博客 1661

ZOJ 4062 Plants vs. Zombies(二分)

ZOJ 4062 Plants vs. Zombies 意义不明的花妈和芳香。 There are plants in DreamGrid’s garden arranged in a line. From west to east, the plants are numbered from 1 to n and the -th plant lies meters to the eas...

muyu__的博客 487

4、文化遗产数字记录的伦理框架构建

本文探讨了在数字技术快速发展的背景下,如何构建一个伦理框架以指导文化遗产的数字记录工作。文章分析了遗产保护的重要性以及当前面临的挑战,包括气候变化、全球化和技术变革等。同时,结合国际古迹遗址理事会(ICOMOS)的伦理原则和加拿大遗产专业人员协会(CAHP)的行为准则,提出了六个核心伦理类别,并讨论了其在实践中的应用。文章强调,伦理框架不仅有助于提高数字记录的质量和可持续性,还能促进专家合作、保护社区利益并确保数字遗产的长期可访问性。未来需要持续完善这一框架,以应对不断变化的技术和社会环境带来的新挑战。

7h6j5k4l3的博客 96

【GeoDa实用技巧100例】024:geoda计算全局(局部)莫兰指数Moran‘s I,LISA聚类地图,显著性地图

【GeoDa实用技巧100例】024:geoda计算全局(局部)莫兰指数Moran's I,单变量莫兰指数,双变量莫兰指数计算,LISA聚类地图,显著性地图,Geoda双变量莫兰指数是一种强大的地理空间数据分析工具。

智慧空间实验室 6052

ZOJ 4062 Plants vs. Zombies 2018 ICPC 青岛站 E Plants vs. Zombies

ZOJ 4062 二分 哎,二分,二分,二分,我咋就没想到啊,在一篇博客上看到一句话: 一般此类最小值最大问题都是二分,此题显然也是可以二分植物的高度的。 博客链接:https://www.cnblogs.com/mountaink/p/9921988.html 就是直接二分答案,然后判断行了,如果满足题意,l=mid+1,继续判断,如果不满足题意,r=mid-1。 其他的就是注意一下...

flyzer的博客 217

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ZOJ 4062 Plants vs. Zombies (二分+细节)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4062 #include&lt;bits/stdc++.h&gt; using namespace std; #define debug puts("YES"); #define rep(x,y,z) for(int (x)=(y);(x)&lt;(z);(x...

满月照亮的路 577

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Plants vs. Zombies ZOJ - 4062

参考博客: https://blog.csdn.net/lzc504603913/article/details/83824416 题目描述 有n个植物排成一行,从1-n。每个植物交一次水可以长高a[i],现在小蜗从0出发,每次只能走一格,总共可以总m步。每当小蜗到一个地方,就会给该处植物浇水,植物便长高a[i] 处于防御僵尸的目的,现要求使小蜗浇完水后,使最低的植物尽可能高。 思路 比赛的时候一...

lalalafloat的博客 523

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ZOJ - 4062 Plants vs. Zombies(二分答案)

and DreamGrid are playing the game Plants vs. Zombies. In the game, DreamGrid grows plants to defend his garden against BaoBao’s zombies. ​ There are plants in DreamGrid’s garden arranged in ...

Ghost_LZW的博客 485

ZOJ 4062(2018ICPC青岛E) Plants vs. Zombies 思维+二分答案

Plants vs. Zombies Time Limit: 2 Seconds      Memory Limit: 65536 KB BaoBao and DreamGrid are playing the game Plants vs. Zombies. In the game, DreamGrid grows plants to defend his garden against ...

include的背后是微不足道的开始 613

2018ICPC青岛区域赛 zoj4062 Plants vs. Zombies(二分+贪心)

BaoBao and DreamGrid are playing the gamePlants vs. Zombies. In the game, DreamGrid grows plants to defend his garden against BaoBao's zombies. Plants vs. Zombies(?) (Image from pixiv. ID: 21790160;...

pxlsdz的博客 571

E - Plants vs. Zombies ZOJ - 4062 -二分(最小值最大化)

E - Plants vs. Zombies  ZOJ - 4062  题意:机器人走过一个花,可以给那个花浇水,给定步数下,问花的最小的最大能量值 思路:最大化最小值常见二分类型。直接二分答案,然后从前往后计算每个点满足答案要多少次。 我们跟它右边那个反复跳即可。这样的话每一次check先预处理出实际应该遍历这个点几次, 到达一个点时先sum++,因为第一次总是要从前面过来的,...

BePosit的博客 464

ZOJ 4062 Plants vs. Zombies(二分答案)

题目链接:Plants vs. Zombies 题意:从1到n每个位置一棵植物,植物每浇水一次,增加ai高度。人的初始位置为0,人每次能往左或往右走一步,走到哪个位置就浇水一次。求m步走完后最低高度的植物最大高度为多少。 题解:明显二分答案的题目。check时从左往右遍历,贪心思路:把该位置满足同时给后面减少浇水次数,策略是该位置和后一个位置左右横跳,注意最后一个位置的时候,如果满足就不需要再...

weixin_30336061的博客 279

ZOJ - 4062 Plants vs. Zombies 18青岛站 二分

BaoBao and DreamGrid are playing the game Plants vs. Zombies. In the game, DreamGrid grows plants to defend his garden against BaoBao's zombies. Plants vs. Zombies(?) (Image from pixiv. ID: 21790160;...

还我笑颜 519

2018 青岛ICPC区域赛E ZOJ 4062 Plants vs. Zombie(二分答案)

Plants vs. ZombiesTime Limit:2 Seconds Memory Limit:65536 KB BaoBao and DreamGrid are playing the gamePlants vs. Zombies. In the game, DreamGrid grows plants to defend his garden against Bao...

weixin_34238633的博客 229
上一篇: Matrix (POJ - 3685,二分答案 + 二分)
下一篇: Flyer (HDU - 4768,二分答案 + 思维)
The___Flash
博客等级 码龄8年 79粉丝 223原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值