p1968

我觉得这个评测机和我有仇,写了read+getchar都会超时这么多,最后好像是ios::sync_with_stdio(false);惹的祸...

昨天想找一些水题来写,就看到了这个模拟"水题",想了一下午都不知道怎么搞.

已知一些牛的颜色和位置,求连续相同颜色或连续两种颜色数量相同的区间右端点位置减左端点位置最长的距离.复杂度小于n^2.

(果然还是我太菜了,而且只会二分,对于这种题就很难搞.)

首先,这道题的答案不满足单调性,尺寸并不是在一个值之后就全部能取到的那种.所以不能写二分.

但是本题是一个模拟啊,不要想的那么恐怖.

先sort一下.

连续相同颜色只要从前向后扫一遍就好.

数量相同的话,对于每一个牛可以求出前缀和,维护一个数组记录前缀和i第一次出现的位置wei[i](在原结构体数组中的位置),如果当前前缀和数组上没有值,就把自己记录下来.否则可以用它来更新答案:ans=max(ans,o[i].x-o[wei[sum]+1].x);

这个过程中sum可能会变成负数,可以先把sum赋值成>=n的数,同时注意wei数组的大小.

wei[0]一定是0,为了区分0,更新过的和未更新过的,可以写一个循环使数组赋值为-1,然后写一句话:wei[sum]=0后再开始循环.

 

using namespace std;
inline int read()
{int x=0,f=1;char ch=getchar();while(!isdigit(ch)) {if(ch=='-') f=-1;ch=getchar();}while(isdigit(ch)) {x=x*10+ch-'0';ch=getchar();}return x*f;
}
int i,f;
char b;
int n,ans,sum;
int wei[300001];
struct cow
{int x,t;
}o[100010];
inline bool Orz(cow a,cow b)
{return a.x<b.x;
}
int main()
{n=read();for(i=1;i<=n;++i){o[i].x=read();b=getchar();if(b=='G') o[i].t=1;else       o[i].t=-1;}sort(o+1,o+1+n,Orz);for(i=1;i<=n;++i){for(f=i+1;o[f].t==o[i].t&&f<=n;++f){}f--;ans=(ans>o[f].x-o[i].x?ans:o[f].x-o[i].x);i=f;}for(i=0;i<=200000;++i)wei[i]=-1;sum=100000;wei[sum]=0;for(i=1;i<=n;++i){sum+=o[i].t;if(wei[sum]==-1)wei[sum]=i;elseans=(ans>o[i].x-o[wei[sum]+1].x?ans:o[i].x-o[wei[sum]+1].x);}cout<<ans;
}

 

转载于:https://www.cnblogs.com/qywyt/p/9680359.html

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

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

相关文章

免费!200块全志XR806开源鸿蒙开发板试用

一板难求的当下&#xff0c;如果上天突然降临一次开发板免费用的活动&#xff0c;我只想说三个字&#xff1a;手慢无&#xff01;为了让开发者小哥哥小姐姐们体验搭载安谋科技STAR-MC1处理器&#xff0c;面向IoT领域的全志XR806开发板&#xff0c;极术社区特推出2022年新年活动…

你们还留恋windows什么呢?

为什么80%的码农都做不了架构师&#xff1f;>>> 我最近看到一个报道&#xff0c;节录如下&#xff1a; --------------------------------------------- ARM全球总裁Tudor Brown 5月3日表示&#xff0c;预期2015年全球移动PC总量就会达到7.5亿台以上&#xff0c; …

卓老师的这些动图对电子理解真的很有用

01 串行通信在头条电子森林博客中看到一些显示电子系统中信号波形的动图&#xff0c;有助于帮助我们理解传输的机理。特转载如下。1、SPI传输▲ 图1 SPI 数据传输▲ 图1.2 SPI数据传输&#xff08;2&#xff09;▲ 图1.3 SPI时序信号2、I2C传输▲ 图1.2.1 I2C总线以及寻址方…

bootscripttable前端排序无效_前端你应该知道的八条bug分享给你们

1: 为什么列表的数据不要让后端同学返回对象&#xff0c; 而应该返回数组&#xff1f;返回对象我们前端直接遍历有没问题啊&#xff0c; 可以正常显示&#xff0c;那是因为你没有遇到下面描述的情况bug现象1:「我明明把3这个key定义在了第二个位置&#xff0c; 但是每次打印出来…

干货|手把手教你自制六足仿生机器人

摘要&#xff1a;经过大一那次失败之后&#xff0c;我决定暂时停止该项目的开发&#xff0c;转而先去学习那些有关嵌入式开发的基础知识&#xff0c;等以后有能力的时候再去独立完成这个六足机器人。很幸运的是在我大学本科即将结束的时候&#xff0c;我已掌握了足够的知识来完…

STM32F4 HAL 库开发报错:Hal_StatusTypeDef is undefined的解决办法

1、直接在头文件出添加#include "stm32f4xx_hal.h"即可。

Comet:基于 HTTP 长连接的“服务器推”技术

http://www.ibm.com/developerworks/cn/web/wa-lo-comet/ “服务器推”技术的应用 请访问 Ajax 技术资源中心&#xff0c;这是有关 Ajax 编程模型信息的一站式中心&#xff0c;包括很多文档、教程、论坛、blog、wiki 和新闻。任何 Ajax 的新信息都能在这里找到。 传统模式的 We…

lol最克制诺手的英雄_LOL:哪些英雄之间非常克制,不管怎么打,遇到就输了?...

大家好&#xff0c;我是你们的老朋友小黑君。在英雄联盟里&#xff0c;英雄们总有克制或者被克制的英雄&#xff0c;就比如“剑魔克制阿卡丽”&#xff0c;尤其是接下来我们要说的这几对&#xff0c;在对局中遇到基本上就输了&#xff01;冰霜女巫克制妖姬冰霜女巫的出场率一直…

聊聊内卷之下,直博和读完硕士再读博该怎么选择?

大家好&#xff0c;我是写代码的篮球球痴&#xff0c;转发一篇考研读博的文章&#xff0c;希望对大家求学生涯有所帮助。大家好&#xff0c;我是千与千寻&#xff0c;在上一篇推送之中&#xff0c;我们讨论了&#xff0c;五年之内博士是否会出现内卷&#xff0c;阅读量相当的高…

Android 位置服务——BaiduLocation的使用

Android 位置服务——BaiduLocation的使用 原文:Android 位置服务——BaiduLocation的使用版权声明&#xff1a;本文为博主原创文章&#xff0c;欢迎转载&#xff0c;转载请在文章显眼处说明文章出处并给出连接。 https://blog.csdn.net/To_be_Designer/article/details/486854…

asp.net通过登录后修改个人信息_微信号终于可以修改了!快来改一个

上周&#xff0c;微信在安卓端开启了“修改微信号”功能的灰度测试&#xff0c;这也预示着这项新功能很快就能和我们见面了。果不其然&#xff0c;就在刚才微信正式上线了修改微信号的功能&#xff0c;大家期盼多年的功能终于上线了&#xff01;&#xff01;&#xff01;安卓用…

会唱歌的路

文 | 贰沐编辑 | 贰沐 子鱼会唱歌的路&#xff1f;&#xff01;是什么意思&#xff1f;是说路会自己唱歌吗&#xff1f;开车行驶在普通的道路上&#xff0c;我们能够听到“嗡嗡”的各种杂乱无章的声音&#xff0c;而在有些特殊的路上&#xff0c;我们可以听到路面在发出有节奏的…

那些年,我和发哥在恒大的日子

在广州上班那会&#xff0c;我们在恒大中心旁边的利通大厦上班&#xff0c;我和薛总每天一起上下班&#xff0c;那时候宿舍还有盼盼&#xff0c;有时候玩开心的时候&#xff0c;我就会跟他们说&#xff0c;等过了很多年后&#xff0c;我们要写一本说&#xff0c;书的名字就叫做…

KEIL高级调试——条件断点

在线调试程序时&#xff0c;打断点是非常有效的一种方式&#xff0c;配合单步调试&#xff0c;可以快速定位问题。但是有时候&#xff0c;手动打断点用起来不是那么方便。比如想要在一个循环的第N次停下来&#xff0c;如果手动打断点&#xff0c;那就要不停的点击单步运行&…

emailjava中怎么校验_Java使用注解实现参数统一校验功能

在项目开发中&#xff0c;当使用配置文件的时候&#xff0c;需要对一些配置参数进行合法校验&#xff0c;如果不存在则会抛出异常或者提醒用户重新修改配置文件后运行系统。 以前的做法就是读取到配置文件后&#xff0c;每个配置项挨个检查&#xff0c;写多个if判断是否存在问题…

原来保险丝熔断原理是这样的

如果电路中的保险丝熔断了&#xff0c;想亮起一个灯来指示&#xff0c;可以考虑用这个电路&#xff1a;这个电路的工作逻辑&#xff1a;当保险丝F1正常工作时&#xff0c;只亮起绿灯LED2。当保险丝F1熔断时&#xff0c;熄灭绿灯LED2&#xff0c;亮起红灯LED1&#xff0c;告诉人…

docker 定时重启脚本_使用 Go 添加启动脚本

简介实践困惑总结当前部分的代码简介虽然 Makefile 能很好的整合各种命令, 是一个非常方便的工具. 但启动脚本也是必不可少的, Makefile 更多用于开发阶段, 比如编译, 单元测试等流程.启动脚本的作用是控制程序的状态, 管理程序的启动, 停止, 查询运行状态等.实践直接上脚本了:…

为什么我的U盘空间变小了:图解 FAT 文件系统基础知识

作者 | 鱼鹰Osprey转自 | 鱼鹰谈单片机FAT 文件系统是什么&#xff0c;当你格式化 U 盘之后 U 盘发生了什么&#xff0c;为什么删除的文件还可以再恢复&#xff1f;买的 U 盘明明写着 16 G&#xff0c;实际却只有15 G&#xff0c;这里隐藏了什么事实&#xff1f;FAT 文件系统随…

如何DIY一款属于自己的HID键盘?

这是一个自定义游戏键盘&#xff0c;带有四个热插拔机械键和可自定义的RGB LED。它由STM32F103Cx微控制器供电&#xff0c;并通过Arduino IDE进行编程。文章末尾分享该项目资料。功能概述&#xff1a;快速STM32F103Cx微控制器可实现低输入延迟。USB全速&#xff0c;轮询速率为1…

arm9重启ssh服务_部署ssh使用rsa登录配置

什么是ssh?ssh专为远程登录会话和其他网络服务提供安全性的协议&#xff0c;利用ssh协议可以有效的防止远程管理过程中的信息泄露问题。使用ras公钥登录linux操作环境本地服务器&#xff1a;win10 远程服务器&#xff1a;centos 8 git环境生成rsa文件在windows机器上&#xff…