首页 > 其他分享 >P1531 I Hate It —— 个人思路讲解

P1531 I Hate It —— 个人思路讲解

时间:2023-07-12 15:33:39浏览次数:48  
标签:ch P1531 int 线段 read 讲解 define Hate getchar

原题链接戳这里

初版代码

一开始码的是普通暴力 因为维护区间内的最大值实在没想到什么好的方法

点击查看代码
#include<bits/stdc++.h>
using namespace std;

#define N 200005
#define il inline
#define Inf 0x3f3f3f3f

int n,m;
int a[N];

il int read()
{
	int x=0;
	bool f=1;
	char ch=getchar();
	for(;!isdigit(ch);ch=getchar())
		if(ch=='-')
			f=0;
	for(;isdigit(ch);ch=getchar())
		x=(x<<1)+(x<<3)+ch-'0';
	return f?x:(~(x-1));
}

int main()
{
	n=read();
	m=read();
	for(int i=1;i<=n;i++)
		a[i]=read();
	for(int i=1;i<=m;i++)
	{
		char op;
		cin>>op;
		if(op=='Q')
		{
			int x,y;
			x=read();y=read();
			int ans=-Inf;
			for(int j=x;j<=y;j++)
			{
				if(ans<a[j])
					ans=a[j];
					
			}
				
			cout<<ans<<"\n";
		}
		else
		{
			int x,y;
			x=read();y=read();
			if(a[x]<y)a[x]=y;
		}
	}
	return 0;
}

然后 然后 然后就AC了???

好吧 那么有没有什么更高级的解法呢

线段树

观察到题目要求单点修改 区间维护最大值

运用线段树能很好的做到这一点

将线段树的部分操作改为求最大值即可

标签:ch,P1531,int,线段,read,讲解,define,Hate,getchar
From: https://www.cnblogs.com/pigAlg/p/17547606.html

相关文章

  • 老杜 JavaWeb 讲解(九) ——模板方法设计模式、HttpServlet源码分析
    (十一)模板方法设计模式、HttpServlet源码分析对应视频:20-HttpServlet源码分析及web欢迎页11.1模板方法设计模式不用使用在上面右侧表格中,Person就是模板方法设计模式当中的模板类,通常是抽象类。day()方法就是模板方法设计模式当中的模板方法。模......
  • Istio与Mcp Server服务器讲解与搭建演示
    01Istio与外部注册中心Istio为何需要对接外部注册中心Istio对Kubernetes具有较强的依赖性:1.服务发现就是基于Kubernetes实现的,如果要使用Istio,首先需要迁移到Kubernetes上,并使用Kubernetes的服务注册发现机制。2.对于大量现存的微服务项目来说,这个前提条件并不成立。对......
  • NLP应用 | thumt的bleu评估讲解
    传入参数:model:#defparse_args中,命令行输入模型名称,默认是"transformer"。parser.add_argument("--model",type=str,required=True,help="Nameofthemodel.")#defmain中#model_cls=models.get_model(args.model)返回thu......
  • 技术讲解文字教程
    连接设备,将4G摄像头直接连接到电脑上。设置电脑网络,将电脑的网络设置为192.168.1网段。在浏览器中输入192.168.1.100,打开摄像头登录页面。使用用户名和密码"admin"登录。如果提示错误,可以查看摄像头上方的标签获取正确的用户名和密码。在高级设置-FTP设置中设置FTP服务器地址、......
  • springcloud- hystrix服务降级简单讲解
    在出现错误的时候我们需要即使进行处理并返回提示信息给用户实现交互友好化,我们使用一下注解来实现服务降级功能,一般我们将服务降级配置在客户端相关注解provider8001 ​ @EnableCircuitBreaker //服务降级激活注解服务端主启动类 @HystrixCommand(fallbackMethod=......
  • 实例讲解看nsenter带你“上帝视角”看网络
    摘要:本文重点关注进入目标进程的“网络ns”视角,即站在「容器中的进程视角」看待容器里面的网络世界,并在那个视角中执行命令。本文分享自华为云社区《《跟唐老师学习云网络》-nsenter魔法棒》,作者:tsjsdbd。有时候Docker容器中缺少需要的软件。比如curl,wget,ifconfig,ip,tcpdump......
  • 阿里技术专家深入讲解,SpringMVC入门到进阶,错过再无
    前言SpringMVC是一个实现了WebMVC设计模式的轻量级Web框架。它与前辈Struts2框架一样,都属于MVC框架,因为其使用和性能等方面比Struts2更加优异,所以SpringMVC是现在比较主流的MVC框架。先简单概括一下SpringMVC的主要特点:灵活性强,容易与其他框架集成;提供了前端控制器Dispatch......
  • react的hooks作用讲解
    1.useState用于声明一个state变量,例子如下点击查看代码importReact,{useState}from'react';functionExample(){//声明一个叫"count"的state变量const[count,setCount]=useState(0);return(<div><p>Youclicked{count}......
  • SAP 电商云 footer 区域 Link Component HTML 源代码的详细讲解
    如下图所示:这个linkComponent生成的a元素的HTML代码:<ahref="http://www.twitter.com/SAP_CX"target="_blank"rel="noopener">Twitter-j<!--bindings={"ng-reflect-ng-template-outlet":"[objectObject]"}......
  • 来看一个人才对Promise的讲解
     我承若在女朋友生日那天给她买一个lv包包,如果生日那天isForget则resolve这个包(成功返回),反之则抛出一个错误:我加班去了,忘记了   ......