首页 > 其他分享 >打怪兽

打怪兽

时间:2024-07-08 20:10:37浏览次数:7  
标签:怪兽 le lef int mid cc ans

  • 问题之所以看上去很棘手,是因为各种意义上的起始能量值未知
  • 但能量值的上限最多仅为100,因此我们可以通过枚举消去这一维度的信息,于是需要统计的信息就可以用线段树维护了
点击查看代码
#include <bits/stdc++.h> 
using namespace std;
int n,m,k,q,le,ans;
int a[50005];
struct t1
{
    int l,r,va,lef;
}t[105][200005];
int read1()
{
	char cc=getchar();
	while(!(cc>=48&&cc<=57))
	{
		cc=getchar();
	}
    int s=cc-48;
	while(1)
	{
		cc=getchar();
		if(cc>=48&&cc<=57)
		{
			s=s*10+cc-48;
		}
		else
		{
			break;
		}
	}
	return s;
}
void build(int p,int l,int r)
{
    if(l==r)
    {
        for(int i=0;i<=m;i++)
        {
            t[i][p].l=l;
            t[i][p].r=r;
            t[i][p].va=min(m,i+a[l])/k;
            t[i][p].lef=min(m,i+a[l])%k;
        }
    }
    else
    {
        int mid=(l+r)>>1;
        build(p*2,l,mid);
        build(p*2+1,mid+1,r);
        for(int i=0;i<=m;i++)
        {
            t[i][p].l=l;
            t[i][p].r=r;
            t[i][p].va=t[i][p*2].va+t[t[i][p*2].lef][p*2+1].va;
            t[i][p].lef=t[t[i][p*2].lef][p*2+1].lef;
        }
    }
}
void change(int p,int c,int va)
{
    if(t[0][p].l==t[0][p].r)
    {
        a[c]+=va;
        for(int i=0;i<=m;i++)
        {
            t[i][p].va=min(m,i+a[c])/k;
            t[i][p].lef=min(m,i+a[c])%k;
        }
    }
    else
    {
        int mid=(t[0][p].l+t[0][p].r)>>1;
        if(c<=mid)
        {
            change(p*2,c,va);
        }
        else
        {
            change(p*2+1,c,va);
        }
        for(int i=0;i<=m;i++)
        {
            t[i][p].va=t[i][p*2].va+t[t[i][p*2].lef][p*2+1].va;
            t[i][p].lef=t[t[i][p*2].lef][p*2+1].lef;
        }
    }
}
void ask(int p,int l,int r)
{
    if(l<=t[0][p].l&&r>=t[0][p].r)
    {
        ans=ans+t[le][p].va;
        le=t[le][p].lef;
    }
    else
    {
        int mid=(t[0][p].l+t[0][p].r)>>1;
        if(l<=mid)
        {
            ask(p*2,l,r);
        }
        if(r>mid)
        {
            ask(p*2+1,l,r);
        }
    }
}
int main()
{
    cin>>n>>m>>k>>q;
    for(int i=1;i<=n;i++)
    {
        a[i]=read1();
    }
    build(1,1,n);
    for(int i=1;i<=q;i++)
    {
        int opt,u,v;
        opt=read1();
        u=read1();
        v=read1();
        if(opt==1)
        {
            change(1,u,v);
        }
        else
        {
            le=0;
            ans=0;
            ask(1,u,v);
            printf("%d\n",ans);
        }
    }
    return 0;
}

标签:怪兽,le,lef,int,mid,cc,ans
From: https://www.cnblogs.com/watersail/p/18290627

相关文章

  • AI美食怪兽短视频玩法,月入过万新手也能做!
    这种通过AI技术将各地的特色美食转为具有形象生动、创意满满的怪兽制作成的短视频,发布在各大短视频平台上,可以吸引大量的人群观看,那今天就教大家如何使用免费的AI工具生成这类爆款视频,从而轻松达到月入过万的收益百度网盘请输入提取码百度网盘为您提供文件的网络备份、同......
  • 性能怪兽!香橙派 Kunpeng Pro 开发板深度测评,带你解锁无限可能
    性能怪兽!香橙派KunpengPro开发板深度测评,带你解锁无限可能文章目录性能怪兽!香橙派KunpengPro开发板深度测评,带你解锁无限可能一、背景二、香橙派KunpengPro硬件规格概述三、使用准备与系统安装1️⃣、系统安装步骤2️⃣、远程SSH登录开发板四、香橙派KunpengPr......
  • 怪兽智能数字人解决方案:开启实时对话数字人应用新时代
    在当今数字化的时代,智能数字人技术正逐渐成为各行各业的热门话题。怪兽智能数字人解决方案以其出色的性能和广泛的应用场景,为实时对话数字人的应用带来了全新的机遇和挑战。一、引言随着人工智能技术的不断发展,数字人已经从虚构的想象走进了现实世界。怪兽智能数字人解决方......
  • 怪兽 AI 实时交互数字人直播软件系统,引领直播新潮流
    在当今数字化的时代,直播已经成为了一种极具影响力和吸引力的传播方式。无论是企业营销、教育培训还是娱乐互动,直播都发挥着重要的作用。而怪兽AI实时交互数字人直播软件系统的出现,更是为直播领域带来了全新的变革和机遇。   这款软件系统的独特之处在于其支持企业知......
  • Pocket Monsters口袋怪兽 算法实现
    作业1.1-口袋怪兽关键信息您的任务这是一项个人开卷家庭作业。它涉及到与一个坏掉的游戏进行交互归结为一组编程问题。我们提供了一小组测试,允许您检查解决方案的正确性。然而,这些测试并不是详尽无遗的,通过测试也不是保证满分。您应该执行自己的测试,以确保您的解决方案已编码正确......
  • AcWing 4798. 打怪兽题解
    可以从\(1\)枚举到\(n\)表示要打多少个怪兽。因为你要打\(t\)个怪兽,并不管顺序,所以我们可以对\([1,t]\)这一段进行排序,然后计算\(a[t],a[t-2],a[t-4],\dots\)即可(因为你要干掉第\(t\)个怪兽的时候,必须要使用\(a[t]\)的法力值,因为排过序,所以连着\(t-1\)......
  • 创业也有“捷径”可选?怪兽充电用自身实力说话
    市场多样化的背景下,创业成为越来越多人的选择,有人的创业之旅开展得十分顺利,而有人的创业很快就无疾而终了。除市场选择以外,平台的选择也是非常关键的。在共享充电领域,很多创业者会选择怪兽充电这个平台,在平台提供的多重助力下,顺利开展业务。作为上市企业,怪兽充电的抗风险能......
  • Goop:滚吧,小怪兽
    别误解标题的意思,Goop是并不是要玩家扮演打小怪兽的奥特曼,而是要帮助一只只小怪兽躲过变成落汤鸡的危险,而怎么帮助他们呢,让他们滚着躲过水滴就好了。游戏名称:Goop游戏平台:iOS游戏价格:限时免费,原价0.99美金(6元人民币)评分:画面/音效:6/10游戏操作:8/10游戏......
  • 【YBT2023寒假Day7 B】打怪兽(cdq分治)(斜率优化)
    打怪兽题目链接:YBT2023寒假Day7B题目大意有n个怪,每个怪有攻击力和血量。你每次可以选一个怪打b的伤害,如果一个怪的血量小于等于0就死了。然后每次你打完之后所......
  • 怪兽充电 x mPaaS | 拯救你的电量焦虑
    如果问,“你在什么时候最没有安全感?”,相信很多人的答案会是“手机没电”。尤其是一个人出门在外,手机电量仅有1%自己又没带充电宝时,一种即将与全世界“失联”焦虑感扑面而......