首页 > 其他分享 >ybt1676手机游戏

ybt1676手机游戏

时间:2024-12-25 09:55:24浏览次数:3  
标签:火球 ybt1676 cur int pos 手机游戏 maxn 怪物

1676:手机游戏

时间限制: 1000 ms 内存限制: 131072 KB

【题目描述】

明明的手机上有这样一个游戏,一排\(n\)个怪物,每个怪物的血量是\(m_i\)。现在明明可以射出k个伤害均为\(p\)的火球,当某个火球射到第\(i\)个怪物,除了这个怪物会掉血\(p\)以外,它左边的第\(j\)个怪物\((j≤i)\),也会遭到\(max(0,p−(i−j)^2)\)的溅射伤害。当某个怪物的血量为负的时候,它就死了,但它的尸体依然存在,即其他怪物不会因为它死而改变位置。

明明想用这\(k\)个火球消灭掉所有的怪物,但他同时希望每个火球的伤害\(p\)能尽可能的小,这样他才能完美过关。

所有数均为整数。

【输入】

第一行两个数\(n,k\)。

第二行\(n\)个数\(m_1,m_2,…,m_n\)

表示每个怪物的生命值。

【输出】

一行一个整数表示最小的符合要求的\(p\)值。

【输入样例】

3 1
1 4 5

【输出样例】

6

【数据规模】

对于30%的数据,\(n≤500\)。

对于100%的数据,\(1≤n≤50000,1≤k≤100000,1≤mi≤10^9\)


二分答案。
问题在于题目要仔细读,j 的含意要认真体会!


#include<bits/stdc++.h>
using namespace std;
const int maxn=5e4+10;
int n,sz[maxn],k,m[maxn];
bool pd(long long cur)
{
	int pos=n;
	for(int i=1;i<=k;++i)
	{
		m[pos]-=cur;
		for(int j=1;pos-j>0&&cur-j*j>0;++j)m[pos-j]-=cur-j*j;
		//for(int j=pos;j>0&&(pos-j)*(pos-j)<cur;--j)m[j]-=cur-(pos-j)*(pos-j);
		while(m[pos]<0&&pos>0)pos--;
	}
	return pos==0;
}
int main()
{
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;++i)scanf("%d",&sz[i]);
	long long l=0,r=2e9+1,ans;
	while(l<=r)
	{
		long long cur=(l+r)>>1;
		for(int i=1;i<=n;++i)m[i]=sz[i];
		if(pd(cur))ans=cur,r=cur-1;
		else l=cur+1;
	}
	cout<<ans<<endl;
	return 0;
}

标签:火球,ybt1676,cur,int,pos,手机游戏,maxn,怪物
From: https://www.cnblogs.com/gryzy/p/18629458

相关文章

  • 基于java手机游戏(堡垒)的设计与开发的计算机毕设源码+论文
    手机游戏(堡垒)的设计与开发摘要随着手机业务的迅速发展,手机游戏逐渐成为移动增值服务的兴奋点。本毕业设计就着眼于J2ME技术的应用,设计与开发一款探险类手机游戏(堡垒)。该堡垒游戏是基于J2ME开发的手机RPG游戏,采用midp2.0技术实现了菜单、地图、主角动作及怪物动作和AI等,主要通过精......
  • Unity手机游戏性能优化系列:针对CPU端的性能调优
    做手机游戏开发的时,经常会遇到手机游戏的性能问题,手机游戏的性能问题可能有很多的方面,今天我们从CPU调优的角度来給大家介绍一下常用的CPU调优的一些经验和手段。这些经验和手段都有可能随着时间与环境的变化改变而改变,具体还是要以实际的为准,先定位性能问题,再上具体的手段。接下......
  • 多开工具对手机游戏运行效率的测试与评估
    近年来,随着智能手机的普及和移动游戏的兴起,多开工具成为了不少手机游戏玩家的必备工具。然而,多开工具在提升游戏体验的同时,也会对游戏运行效率产生一定的影响。本文将对多开工具对手机游戏运行效率的影响进行测试和评估。首先,我们选择了两款热门的手机游戏《王者荣耀》和《绝地求......
  • C语言实现飞机大战手机游戏完整代码
    ​大一课设做的飞机大战手机游戏,可以进行登入和注册,这个是利用单链表做的,源代码已经给出,这个是最基本的飞机大战模式,我设置了几个功能,比如排行榜之类的。排行榜是用结构体数组做的,已及冒泡排序,并且在文件里保存信息。比较简单。#include"stdio.h"#include"windows.h"  //用......
  • 《Unity 2D与3D手机游戏开发实战》上架了。
    新书上架了。这本书主要是Unity开发的入门,附带了一个简单的2D例子,一个3DRPG的简单例子和一个尽可能用插件实现的射击游戏的例子。书很薄,不过因为是彩页印刷,价钱不是那么实......
  • Part 1:基础语言-Cocos2d-x手机游戏开发之C++语言基础-关东升-专题视频课程
    Part1:基础语言-Cocos2d-x手机游戏开发之C++语言基础—60642人已学习课程介绍        本套Cocos2d-x视频教程采用的编程语言为C++语言,本教程为专门针对想学习Cocos......