牛客小白月赛86

 目录

1. B 水平考试

2. C 数组段数

3. D 剪纸游戏

4. E 可口蛋糕


1. B 水平考试

(1)思路

· 最终得分只会出现0分和10分

· 分两类讨论

        · 两个字符串相等 10分

        · 两个字符串不相等,遍历字符串s,只要出现字符串f中没有的字符就为0分,否则10分

· 字符查找函数 s.find( ' ch ' ),若该字符没有找到,其返回值等于函数 s.nops(),因此将两者相比较即可知道是否找到该字符。

(2)代码

#include<iostream>
using namespace std;

int t,ans;
string s,f;

int main()
{
	cin>>t;
	while (t--)
	{														
		cin>>s>>f;
		if (s==f)	 ans=10;
		else
		{
			int len=s.size(),p=0;
			for (int i=0;i<len;i++)
				if (f.find(s[i])==f.npos)
					p=1;
			if (p==1)	ans=0;
			else	ans=10;
		}
		cout<<ans<<endl; 
	}
	return 0;
}

2. C 数组段数

(1)思路

· 看到区间及其内部个数,首先想到前缀和,接下来维护的数组都是前缀和数组

· 遍历区间,若相邻两数不相等,则在两数之间需加一个隔板,而该区间的值即为隔板数

· 逻辑运算 (a): · 括号内为真,其值为1

                             · 括号内为假,其值为0

· 前缀和数组s:从1开始到 i ,有多少个隔板

(2)代码

#include<iostream>
using namespace std;

int n,m,l,r,ans,a[200005],s[200005];

int main()
{
	cin>>n>>m;
	for (int i=1;i<=n;i++)
		cin>>a[i];
	for (int i=1;i<=n;i++)
		s[i]=s[i-1]+(a[i-1]!=a[i]);
	while (m--)
	{
		cin>>l>>r;
		ans=s[r]-s[l]+1;
		cout<<ans<<endl;
	}
	return 0;
}

3. D 剪纸游戏

(1)思路

对于每一个剪下的图形,dfs遍历出该图形的最大和最小的 x,y值,并记录下格数,x差值 * y差值得到一个正方形面积,将该面积与剪下图形格数相比较判断是否为长方形

(2)代码

#include<iostream>
using namespace std;

int n,m,ans,s,dx,dy,minx,maxx,miny,maxy,vis[1005][1005];
char a[1005][1005];

void dfs(int x,int y)
{
	minx=min(minx,x),maxx=max(maxx,x),miny=min(miny,y),maxy=max(maxy,y);
	int tx,ty,next[4][2]={{-1,0},{1,0},{0,-1},{0,1}};
	for (int i=0;i<4;i++)
	{
		tx=x+next[i][0],ty=y+next[i][1];
		if (tx>0 && tx<=n && ty>0 && ty<=m && a[tx][ty]=='.' && vis[tx][ty]==0)
		{
			vis[tx][ty]=1;
			s++;
			dfs(tx,ty);
		}
	}
}

int main()
{
	cin>>n>>m;
	for (int i=1;i<=n;i++)
		for (int j=1;j<=m;j++)
			cin>>a[i][j];
	for (int i=1;i<=n;i++)
		for (int j=1;j<=m;j++)
			if (a[i][j]=='.' && vis[i][j]==0)
			{
				vis[i][j]=1;
				s=1,dx=dy=maxx=maxy=0,minx=miny=0x3f3f3f3f;
				dfs(i,j);
				dx=maxx-minx+1,dy=maxy-miny+1;
				if (s==dx*dy)
					ans++;
			}
	cout<<ans;
	return 0;
}

4. E 可口蛋糕

(1)思路

· 对于饱腹值,用前缀和数组 + lower_bound 代替滑动窗口

· 根据条件列式:sw[ r ] - sw[ l ] >= W,固定左端点找右端点,sw[ r ] >= W + sw[ l ],因为sw[ l ] 是固定值,因此可用lower_bound找到 r 

· 对于可口值,可以理解为在满足饱腹值的前提下的最大字段和,同样可以用前缀和数组代替

· 找到 r 后,可口值为 sd[ r ] - sd[ l ],因为sd[ l ]是固定值,只需找到从 r 到 n 的最大 sd[ i ]

· 另开一个后缀数组记录可口值前缀和数组从某一点往后的最大值(优化)

(2)代码

#include<iostream>
using namespace std;

long long n,W,ans,w[1000005],d[1000005],sw[1000005],sd[1000005],mx[1000006];

int main()
{
	cin>>n>>W;
	for (int i=1;i<=n;i++)
	{	
		cin>>w[i];
		sw[i]=sw[i-1]+w[i];
	}
	for (int i=1;i<=n;i++)
	{
		cin>>d[i];
		sd[i]=sd[i-1]+d[i];	
	}
	mx[n+1]=-1e15;                            // 界外数据赋初值
	for (int i=n;i>=1;i--)
		mx[i]=max(mx[i+1],sd[i]);
	ans=-1e15;                                // 初始化
	for (int i=1;i<=n;i++)
	{
		int r=lower_bound(sw+1,sw+n+1,W+sw[i-1])-sw;
		ans=max(ans,mx[r]-sd[i-1]);
	}
	cout<<ans;
	return 0;
} 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年安装tf tfa tfh

目的&#xff1a; 在win10上&#xff0c;anaconda内&#xff0c;同时安装tensorflow tensorflow_hub tensorflow_addons。需要注意3个版本相互对应。 本文最后找到一种方法&#xff1a;先用pip安装tensorflow2.14版本&#xff0c;再次使用pip安装剩余两个时&#xff0c;就会自…

姑苏寻韵~庆开放原子开源大赛 OpenTiny 前端 Web 应用开发挑战赛路演圆满落幕。

春日已至&#xff0c;姑苏古城迎来了一场编程的盛宴——开放原子开源大赛OpenTiny前端Web应用开发挑战赛。历时三个月的激烈角逐&#xff0c;OpenTiny与众多开发者携手共赴这场智慧的较量。决赛路演于4月14日在苏州&#xff08;太湖&#xff09;产业软件园圆满落下帷幕~ 开放原…

圣地亚哥 Toler 小学利用School AI帮助每个学生都有自己的聊天机器人,提高学习兴趣和效率

圣地亚哥 Toler 小学利用 AI 程序 SchoolAI 平台为学生创建个性化的聊天机器人&#xff0c;帮助他们更好地学习和提问。这个 AI 程序让学生可以在几秒钟内得到问题的答案&#xff0c;激发了他们提出更多问题的好奇心。 管理、调节和指导学生如何通过任务控制使用人工智能。 当…

JUC(java.util.concurrent) 的常见类

Callable 接口 Callable 的用法 Callable 是一个 interface&#xff08;类似之前的 Runnable&#xff0c;用来描述一个任务&#xff0c;但是没有返回值&#xff09;也是描述一个任务的&#xff0c;有返回值。方便程序猿借助多线程的方式计算结果. 例如&#xff1a;创建线程…

CZT Blusetein‘s FFT

参考文献&#xff1a; [Sto66] Stockham Jr T G. High-speed convolution and correlation[C]//Proceedings of the April 26-28, 1966, Spring joint computer conference. 1966: 229-233.[Blu68] Bluestein L. A linear filtering approach to the computation of discrete …

代码优化实践之税率计算问题

开篇 今天的问题来自于《编程珠玑》第三章【数据决定程序结构】&#xff0c;这里提出了几条代码优化相关的原则&#xff0c;受益不浅。下面是提到的几条原则&#xff1a; 使用数组重新编写重复代码。冗长的相似代码往往可以使用最简单的数据结构——数组来更好的表述&#xff1…

Vue3: toRefs与toRef的基本使用

一、前言 本文主要介绍toRefs与toRef的基本使用。 二、内容 1、基本概念 作用: toRefs与toRef可以将一个响应式对象中的每一 个属性&#xff0c;转换为ref对象&#xff1b;不同 toRefs与toRef功能一致&#xff0c;但toRefs可以批量转换。 2、toRefs 如果把reactive定义的…

ROS仿真小车(四)—— URDF与Gazebo集成

文章目录 前言一、ubuntu20.04中下载gazebo_models二、在gazebo中显示简单模型1 创建功能包&#xff0c;导入依赖2 编写URDF文件3 编写launch文件4 在gazebo中显示机器人模型 三、URDF集成Gazebo相关设置四、在gazebo中导入小车模型1 编写xacro文件2 编写launch文件3 运行结果 …

Stable Diffusion 模型分享:MeinaMix(动漫)meinamix_meinaV11

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里&#xff0c;订阅后可阅读专栏内所有文章。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 MeinaMix 的目标是&#xff1a;能够在很少的提示下…

SpectralMamba:用于高光谱图像分类的高效 Mamba

SpectralMamba&#xff1a;用于高光谱图像分类的高效 Mamba 摘要IntroductionMethodologyPreliminariesSpectralMamba: OverviewSpectralMamba: Key ComponentsB1 Piece-wise Sequential ScanningIii-B2 Gated Spatial-Spectral Merging SpectralMamba: Efficient Mamba for Hy…

【InternLM 实战营第二期作业06】Lagent AgentLego 智能体应用搭建

基础作业 1.完成 Lagent Web Demo 使用 使用 LMDeploy 部署 conda activate agent lmdeploy serve api_server /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b \--server-name 127.0.0.1 \--model-name internlm2-chat-7b \--cache-max-entry-count 0.1 …

Linux文件的特殊权限(SUID|SGID|SBIT)

一、SUID 介绍&#xff1a;SUID是一种对二进制程序进行设置的特殊权限&#xff0c;能够让二进制程序的执行者临时拥有所有者的权限&#xff08;仅对拥有执行权限的二进制程序有效&#xff09;。 &#xff08;一&#xff09;语法格式 chmod us 文件名&#xff08;设置SUID权限…

SOLIDWORKS批量改名工具个人版 慧德敏学

每个文件都会有自己的名字&#xff0c;SOLIDWOKRKS模型也不例外。但是如果从资源管理器直接修改模型的文件名&#xff0c;就会导致模型关联的丢失&#xff0c;导致装配体打开之后找不到模型&#xff0c;因此就需要使用SOLIDWORKS的重命名功能。 SOLIDWORKS批量改名插件- Solid…

智能电网线路阻抗模拟器基础认识

智能电网线路阻抗模拟器是专门用于模拟电力系统输电线路阻抗特性的装置&#xff0c;它能够根据设定的参数&#xff0c;精确地模拟出各种不同类型、不同长度和不同截面积的输电线路在正常运行或故障状态下的阻抗特性。这种模拟器在电力系统的规划、设计、运行和维护中起着重要的…

交换机的种类有哪些?主要都具有哪些作用?

在当今数字化时代&#xff0c;网络已经成为我们生活和工作中不可或缺的一部分。无论是家庭网络还是企业网络&#xff0c;都需要有效的网络设备来实现数据通信和资源共享。而网络交换机作为一种重要的网络设备&#xff0c;扮演着连接和管理网络设备的关键角色。本文将探讨交换机…

TXT文本编辑器,高效将文本里特定符号前的内容作为关键词一键复制或移动文件,效管理文件内容

在日常工作和生活中&#xff0c;我们经常需要处理大量的文件&#xff0c;而文件的管理和整理则成为了一个重要的问题。传统的文件管理方式不仅效率低下&#xff0c;而且容易出错。为了解决这一难题&#xff0c;我们推出了一款强大的TXT文本编辑器&#xff0c;它能够帮助你以文件…

岩石变角剪切试验夹具 技术参数

岩石变角试验夹具是根据TB10115-2014铁路工程岩石试验规程等标准利用压力机施加垂直荷载,通过一套特制的夹具使试件沿某一剪切面产生剪切破坏,然后通过静力平衡条件解析剪切面上的法向压应力和剪应力,从而绘制法向压应力&#xff08;σ&#xff09;与剪应力&#xff08;τ&…

flutter release 报错 Error: SocketException: Failed host lookup:

flutter 的 debug 模式没有任何问题 &#xff0c;打了release 包后一直报下面的错&#xff0c;查了一下是 因为没有网络权限 Error: SocketException: Failed host lookup: yomi-test-aws-sg.yomigame.games (OS Error: No address associated with hostname, errno 7) 按照下…

YOLOv5 / YOLOv7 / YOLOv8 / YOLOv9 / RTDETR -gui界面-交互式图形化界面

往期热门博客项目回顾&#xff1a;点击前往 计算机视觉项目大集合 改进的yolo目标检测-测距测速 路径规划算法 图像去雨去雾目标检测测距项目 交通标志识别项目 yolo系列-重磅yolov9界面-最新的yolo 姿态识别-3d姿态识别 深度学习小白学习路线 AI健身教练-引体向上…

使用 大模型快速生成-jsToJava 的正则表达式离线版本的简单html页面

注意&#xff1a;需求要描述清楚-提高程序员的工作效率 代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0&quo…