注意分类讨论完整性:CF1371F

https://www.luogu.com.cn/problem/CF1371F

此题要分类讨论完全

容易漏掉 >>>>><<<<< 在左右或中间的情况

多对拍

#include<bits/stdc++.h>
using namespace std;
//#define int long long
inline int read(){int x=0,f=1;char ch=getchar(); while(ch<'0'||
ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}return x*f;}
#define Z(x) (x)*(x)
#define pb push_back
//mt19937 rand(time(0));
//mt19937_64 rand(time(0));
//srand(time(0));
#define N 500010
//#define M
//#define mo
int n, m, i, j, k, T;
int l, r, q, rt; 
char str[N]; struct Segment_tree {int tot, ls[N<<2], rs[N<<2], tag[N<<2]; struct node {int s, L, R, mx, Lx, Rx; }s[N<<2][2]; node merge(node a, node b) {node c; c.s=a.s+b.s; if(a.L==a.s) c.L=a.s+b.L; else c.L=a.L; if(b.R==b.s) c.R=b.s+a.R; else c.R=b.R; c.mx=max(a.mx, b.mx); c.mx=max(c.mx, max(c.L, c.R)); c.mx=max(c.mx, a.R+b.L); if(a.Lx==a.s) c.Lx=a.s+b.L; else c.Lx=a.Lx; if(b.Rx==b.s) c.Rx=b.s+a.R; else c.Rx=b.Rx; if(a.R==a.s) c.Lx=max(c.Lx, a.s+b.Lx); if(b.L==b.s) c.Rx=max(c.Rx, b.s+a.Rx); c.mx=max(c.mx, max(c.Lx, c.Rx)); c.mx=max(c.mx, a.R+b.Lx); c.mx=max(c.mx, b.L+a.Rx); return c; }void push_up(int k) {s[k][0]=merge(s[ls[k]][0], s[rs[k]][0]); s[k][1]=merge(s[ls[k]][1], s[rs[k]][1]); }void build(int &k, int l, int r) {if(!k) k=++tot; if(l==r) {if(str[l]=='<') s[k][0].L=1, s[k][1].R=1; else s[k][0].R=1, s[k][1].L=1; s[k][0].s=s[k][1].s=s[k][0].mx=s[k][1].mx=1; s[k][0].Lx=s[k][0].Rx=s[k][1].Lx=s[k][1].Rx=1; return ; }int mid=(l+r)>>1; build(ls[k], l, mid); build(rs[k], mid+1, r); push_up(k); }void fan(int k) {tag[k]^=1; swap(s[k][0], s[k][1]); }void push_down(int k) {if(!tag[k]) return ; fan(ls[k]); fan(rs[k]); tag[k]=0; }void print(node a) {printf("%d %d | %d %d | %d %d\n", a.mx, a.s, a.L, a.R, a.Lx, a.Rx); }node modify(int k, int l, int r, int x, int y) {
//		printf("%d [%d %d]\n", k, l, r); if(l>=x && r<=y) return fan(k), s[k][0]; int mid=(l+r)>>1, flg=0; push_down(k); node a, b, c; if(x<=mid) a=modify(ls[k], l, mid, x, y), flg|=1; if(y>=mid+1) b=modify(rs[k], mid+1, r, x, y), flg|=2; push_up(k); if(flg==1) return a; if(flg==2) return b; c=merge(a, b); 
//		printf("%d : %d %d | %d %d | %d %d\n", k, c.mx, c.s, c.L, c.R, c.Lx, c.Rx); 
//		print(a); print(b); 
//		printf("%d : %d %d | %d %d | %d %d\n", k, a.mx, c.s, c.L, c.R, c.Lx, c.Rx); return merge(a, b); }
}Seg;signed main()
{
//	freopen("in.txt", "r", stdin);
//	freopen("out.txt", "w", stdout);
//	T=read();
//	while(T--) {
//
//	}n=read(); q=read(); scanf("%s", str+1); Seg.build(rt, 1, n); while(q--) {l=read(); r=read(); printf("%d\n", Seg.modify(1, 1, n, l, r).mx); }return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/99699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis集群某主节点宕机,其从节点未自动接管(故障转移未生效)问题解决

故障转移未生效可能有很多种原因&#xff0c;这里只记录本次排查原因&#xff1a; redis集群模式 三主三从 过程&#xff1a;初始集群可以正常启动&#xff0c;想模拟故障转移情况&#xff0c;手动kill某主节点的端口进程&#xff0c;集群状态就为fail了&#xff0c;其从节点…

全志R128芯片应用开发案例——驱动 WS2812 流水灯

驱动 WS2812 流水灯 本文案例代码下载地址驱动 WS2812 流水灯案例代码https://www.aw-ol.com/downloads?cat24 R128-DevKit 拥有4颗 WS2812 LED&#xff0c;本文将详细叙述如何点亮他们。 LEDC 模块简介 LEDC 硬件方框图如上图所示&#xff0c;CPU 通过 APB 总线操作 LEDC 寄…

【智能家居项目】裸机版本——认识esp8266 | 网络子系统

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《智能家居项目》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 如上图整个智能家居程序总体框架图&#xff0c;还剩下网络子系统没有实现&#xff0c;以及最终…

Idea JavaWeb项目,继承自HttpFilter的过滤器,启动Tomcat时部署工件出错

JDK版本&#xff1a;1.8 Tomcat版本&#xff1a;8.5 10-Oct-2023 13:55:17.586 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal One or more Filters failed to start. Full details will be found in the appropriate conta…

2023年中国涂料助剂市场发展历程及趋势分析:中高端助剂市场规模将会迎来新的增长[图]

涂料助剂又称油漆辅料&#xff0c;系配制涂料的辅助材料&#xff0c;能改进涂料性能&#xff0c;促进涂膜形成。种类很多&#xff0c;包括催干剂、增韧剂、乳化剂、增稠剂、颜料分散剂、消泡剂、流平剂、抗结皮剂、消光剂、光稳定剂、防霉剂、抗静电剂等&#xff0c;其中用量最…

虹科分享 | 谷歌Vertex AI平台使用Redis搭建大语言模型

最近&#xff0c;谷歌宣布旗下Vertex人工智能平台最新支持了生成式人工智能&#xff0c;是什么支持语言模型实现与人类的语言交互呢&#xff1f;语言模型的大量知识储备从何而来呢&#xff1f; 一、语言模型构件 应用程序生成、理解和使用人类语言的能力正变得越来越重要&…

mysql数据库提示只读错误解决方案

问题来源&#xff1a;使用网站程序发现登录不了&#xff0c;也注册不了 重新安装程序时提示&#xff1a; The MySQL server is running with the –read-only option so it cannot execute this statement 这个错误信息意味着MySQL服务器正在读取模式&#xff08;read-only …

npm/yarn查看当前网源与设置其它网源

npm 查看当前源 npm get registry npm 设置其他源 npm config set registry https://registry.npmjs.org yarn 查看当前源 yarn config get registry yarn 恢复&#xff08;设置&#xff09;默认源 yarn config set registry https://registry.yarnpkg.com 镜像源地址…

flask-sqlalchemy实现读写分离完整版

1. 依赖版本: alembic==1.6.5 click==8.0.1 colorama==0.4.4 Flask==1.1.2 Flask-Migrate==2.7.0 Flask-Script==2.0.6 Flask-SQLAlchemy==2.4.4 greenlet==1.1.0 itsdangerous==2.0.1 Jinja2==3.0.1 Mako==1.1.4 MarkupSafe==2.0.1 protobuf==3.17.3 PyMySQL==1.0.2 python-…

java日志框架详解-Log4j2

一、概述 Apache Log4j 2 &#xff08;Log4j – Apache Log4j 2&#xff09;是对Log4j的升级&#xff0c;它比其前身Log4j 1.x提供了重大改进&#xff0c;并参考了Logback中优秀的设计&#xff0c;同时修复了Logback架构中的一些问题。被誉为是目前最优秀的Java日志框架&#x…

Mac电脑版鼠标连点工具 RapidClick for Mac

RapidClick是一款简单实用的自动点击软件。它可以模拟鼠标点击操作&#xff0c;以便快速、连续地点击屏幕上的特定位置。该软件通常用于自动执行重复性的点击任务或加快某些操作的速度。 以下是RapidClick可能提供的一些主要功能和特点&#xff1a; 自动点击功能&#xff1a;R…

prototype-based learning algorithm(原型学习)

Prototype-based learning&#xff08;原型学习&#xff09;是一种机器学习方法&#xff0c;它的核心思想是通过存储一组代表性的样本&#xff08;原型&#xff09;&#xff0c;然后使用这些原型来进行分类、回归或聚类等任务。这种方法模拟了人类学习的方式&#xff0c;人们往…

C++对string进行大小写转换的三种方法

C对string进行大小写转换的三种方法 方法一&#xff1a;下标 #include <iostream> #include <string> using namespace std;int main() {string s "ABCDEFG";for( int i 0; i < s.size(); i ){s[i] tolower(s[i]);}cout<<s<<endl;re…

LATR:3D Lane Detection from Monocular Images with Transformer

参考代码&#xff1a;LATR 动机与主要工作&#xff1a; 之前的3D车道线检测算法使用诸如IPM投影、3D anchor加NMS后处理等操作处理车道线检测&#xff0c;但这些操作或多或少会存在一些负面效应。IPM投影对深度估计和相机内外参数精度有要求&#xff0c;anchor的方式需要一些如…

SpringCloud学习笔记-Ribbon负载均衡

目录 1.负载均衡策略2.自定义负载均衡策略3.饥饿加载 SpringCloudRibbon的底层采用了一个拦截器&#xff0c;拦截了RestTemplate发出的请求&#xff0c;对地址做了修改。用一幅图来总结一下&#xff1a; 基本流程如下&#xff1a; 拦截我们的RestTemplate请求http://userserv…

jar -jar运行原理

jar -jar运行原理 1.前言 阅读这篇文章你将知道 jar包是如何被jvm加载&#xff0c;并运行起来的。 jvm的classload如何进行加载 springboot对象的生命周期啥时候开始的 2.提问 平时我对于java代码是如何运行起来的缺少认知&#xff0c;那么java代码是如何运行起来的呢&…

增强LLM:使用搜索引擎缓解大模型幻觉问题

论文题目&#xff1a;FRESHLLMS:REFRESHING LARGE LANGUAGE MODELS WITH SEARCH ENGINE AUGMENTATION 论文地址&#xff1a;https://arxiv.org/pdf/2310.03214.pdf 论文由Google、University of Massachusetts Amherst、OpenAI联合发布。 大部分大语言模型只会训练一次&#…

pyflink读取kafka数据写入mysql实例

依赖包下载 https://repo.maven.apache.org/maven2/org/apache/flink/flink-sql-connector-kafka/1.17.1/ 版本 flink&#xff1a;1.16.0 kafka&#xff1a;2.13-3.2.0 实例 import logging import sysfrom pyflink.common import Types from pyflink.datastream import …

毛玻璃 has 选择器卡片悬停效果

效果展示 页面结构 从上述的效果展示可以看到&#xff0c;页面是由多个卡片组成&#xff0c;并且鼠标悬停在卡片上时&#xff0c;会旋转用户图片并且韩式对应的用户信息框。 CSS3 知识点 :has 属性的运用 实现页面整体结构 <div class"container"><div…