当前位置: 首页 > news >正文

牛客周赛 Round 7

目录

A 游游的you矩阵

题目:

题解:

AC 代码:

B 游游的01串操作

题目:

题解:

AC 代码:

C 游游的正整数

题目:

题解:

AC 代码:

D 游游的选数乘积

题目:

题解:

AC 代码:

A 游游的you矩阵

题目:

游游拿到了一个字符矩阵。她想知道有多少个2*2的子矩阵同时包含了'y'、'o'和'u'这三种字符?

输入描述:

第一行输入两个正整数n和m,代表矩阵的行数和列数。
接下来的n行,每行输入一个长度为m的、仅由英文小写字母组成的字符串,代表游游拿到的矩阵。
1≤n,m≤1e3

输出描述:

一个整数,代表同时包含了'y'、'o'和'u'三种字符的2*2的子矩阵数量。

输入

3 3
yuo
uiy
our

输出

1
只有一个2*2的子矩阵同时包含了'y'、'o'和'u'三种字符。

题解:

两层for循环遍历求解

AC 代码:

#include<bits/stdc++.h>
using namespace std;
int d[4][2]={0,0,0,1,1,0,1,1};
void solve()
{int m,n,a=0,b=0,c=0,sum=0;cin>>n>>m;string x[1001];for(int i=0;i<n;i++){cin>>x[i];}for(int i=0;i<n-1;i++){for(int j=0;j<m-1;j++){a=0,b=0,c=0;for(int k=0;k<4;k++){if(x[i+d[k][0]][j+d[k][1]]=='y')a++;else if(x[i+d[k][0]][j+d[k][1]]=='o')b++;else if(x[i+d[k][0]][j+d[k][1]]=='u')c++;}if(a&&b&&c)sum++;}}cout<<sum<<endl;
}
signed main()
{int t=1;//cin>>t;while(t--)solve();return 0;
}

B 游游的01串操作

题目:

游游拿到了一个01串(仅由字符'0'和字符'1'构成的字符串)。游游每次操作可以选择对其中一个字符取反(即1变0,或者0变1),对第 iii 个字符取反的代价为 iii。(代价从1开始计算,即第一个字母的代价是1)
游游希望最终字符串任意两个相邻的字符都不相同,她想知道花费代价之和的最小值的多少?

输入描述:

一行仅由 '0' 、 '1' 组成的字符串,长度不超过 100000。

输出描述:

一个整数,代表代价之和的最小值。

样例 1 

输入

11101

输出

2

说明

把第二个字母取反,代价为2。字符串变成10101。

样例 2

输入

0111111
 

输出

13

说明

取反第1、2、4、6个字符,总代价为1+2+4+6=13.

题解:

分别判断从0开始和从1开始,输出最小操作

AC 代码:

#include<bits/stdc++.h>
using namespace std;
void solve()
{int m,n,sum=0,num=0,l;string x;cin>>x;l=x.size();for(int i=0;i<l;i++){if(((x[i]-'0')&1)==(i&1))num+=i+1;elsesum+=i+1;}cout<<min(sum,num)<<endl;
}
signed main()
{int t=1;//cin>>t;while(t--)solve();return 0;
}

C 游游的正整数

题目:

游游拿到了一个正整数a,她每次操作可以选择将a加上x,但必须满足l≤x≤r。游游希望操作结束后a恰好等于b。游游想知道,最少需要多少次操作,最多需要多少次操作?

   输入描述:

共有t组询问。
每组询问输入四个正整数a,b,l,r。
1≤t≤1e4
1≤l≤r≤1e9
1≤a≤b≤1e9输出描述:
对于每组询问,输出一行答案。
如果无论如何都不能让a等于b,则输出-1。
否则输出两个整数,分别代表最少操作次数和最多操作次数。

示例1

输入

3
1 6 2 5
1 4 2 2
2 10 2 6

输出

1 2
-1
2 4
 

说明

第一组询问,操作一次的方案:直接使a加5。操作2次的方案:先加2再加3。
第二组询问,由于只能加2,显然无法使得1变成4。
第三组询问,操作2次的方案:先加3再加5(方案不唯一)。操作4次的方案:加4次2。

题解:

算出a和b的差值,分别除以 l 向下取整为maxx和 除以 r向上取整为minn,判断两者大小,如果maxx小于minn,输出-1,否则输出maxx和minn

AC 代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve()
{int a,b,l,r;int maxx,minn;cin>>a>>b>>l>>r;maxx=floor((b-a)*1.0/l);minn=ceil((b-a)*1.0/r);if(maxx<minn)cout<<"-1"<<endl;elsecout<<minn<<" "<<maxx<<endl;return ;
}
signed main()
{int t=1;cin>>t;while(t--)solve();return 0;
}

D 游游的选数乘积

题目:

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

游游拿到了一个数组,她准备在其中选择两个数,使得乘积的末尾至少有xxx个0。游游想知道,至少有多少种不同的取数方法?

输入描述:

第一行输入两个正整数n和x,代表数组的大小以及乘积末尾0的数量。
第二行输入n个正整数ai,代表游游拿到的数组。
1≤n,x≤1e5
1≤ai≤1e9

输出描述:

输出一个整数,代表游游选择的方案数。

示例1

输入

5 2
3 5 50 2 80
 

输出

3

说明

5*80=400,末尾有2个0。
50*2=100,末尾有2个0。
50*80=4000,末尾有3个0。
有以上3种方案满足乘积至少有2个0。

题解:

计算每个数ai分别被2,5整除的次数x,y,则a[x][y]+1; 2、枚举x,y(x,y<32),计算最小值大于等于目标值。

AC 代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
map<pair<int,int>,int> m;
void solve()
{int n,x,a,sum=0,num=0,ans=0;cin>>n>>x;for(int k=1;k<=n;k++){cin>>a;sum=0,num=0;while(a%5==0){sum++;a/=5;}while(a%2==0){num++;a/=2;}for(int i=x;i>=max(x-sum,0ll);i--){for(int j=x;j>=max(x-num,0ll);j--){ans+=m[{i,j}];}}m[{min(x,sum),min(x,num)}]++;}cout<<ans<<endl;
}
signed main()
{int t=1;//cin>>t;while(t--)solve();return 0;
}

下一篇:逆元(求乘法逆元的几种方法)

推荐音乐:if We Ever Broke Up

相关文章:

牛客周赛 Round 7

目录 A 游游的you矩阵 题目&#xff1a; 题解&#xff1a; AC 代码&#xff1a; B 游游的01串操作 题目&#xff1a; 题解&#xff1a; AC 代码&#xff1a; C 游游的正整数 题目&#xff1a; 题解&#xff1a; AC 代码&#xff1a; D 游游的选数乘积 题目&#xf…...

R语言生存分析(机器学习)(1)——GBM(梯度提升机)

GBM是一种集成学习算法&#xff0c;它结合了多个弱学习器&#xff08;通常是决策树&#xff09;来构建一个强大的预测模型。GBM使用“Boosting”的技术来训练弱学习器&#xff0c;这种技术是一个迭代的过程&#xff0c;每一轮都会关注之前轮次中预测效果较差的样本&#xff0c;…...

k8s和docker简单介绍

当涉及到容器技术和容器编排时&#xff0c;Docker和Kubernetes是两个重要的概念。我将更详细地介绍它们以及它们之间的关系。 Docker&#xff1a; Docker是一种容器化技术&#xff0c;它允许你将应用程序及其依赖项打包到一个称为"容器"的封闭环境中。每个容器都包…...

Lua学习记录

Lua基础了解 Lua的注释通过 (-- 单行注释&#xff0c;--[[ ]] 多行注释)可以不加&#xff1b; 多个变量赋值&#xff0c;按顺序赋值&#xff0c;没有则为nil&#xff1b; function的简单用法&#xff0c;多个返回值配合多重赋值&#xff0c;以end为结束标志 Lua下标从1开始&…...

三分钟完美解决你的C盘内存过大爆红

一、清理回收站 二、清理桌面 建议一 不要在桌面放太多图标或者文件会占用过多的内存,可以放到其他盘建议二、 将位置移动到别的盘 三、手动删除下载文件与缓存文件 日常使用中会通过Windows下载各种文件资料到电脑中&#xff0c;它默认也是直接下载在C盘中的。如果我们在以…...

C++ - equal(比较两个vector元素)

C标准库的std::equal函数。这个函数用于比较两个范围的元素是否相等。 在使用std::equal函数时&#xff0c;您需要提供两个范围的迭代器&#xff0c;以及一个可选的谓词函数&#xff08;predicate&#xff09;。函数会比较第一个范围内的元素和第二个范围内的元素是否相等。如果…...

多线程:线程池

线程池 提前创建多个线程放入线程池中&#xff0c;使用时直接获取&#xff0c;使用完直接放入池中&#xff1b;可以避免频繁创建销毁&#xff0c;实现重复利用&#xff0c;类似生活中的公共交通工具。好处&#xff1a;提高相应速度&#xff1b;降低资源消耗&#xff1b;便于线…...

9.3.2.2网络原理(传输层TCP)

TCP全部细节参考RFC标准文档 一.TCP特点: 有连接,可靠传输,面向字节流,全双工. 二.TCP数据报: 1.端口号是传输层的重要概念. 2.TCP的报头是变长的(UDP是固定的8字节),大小存在4位首部长度中,用4个bit位(0~15)表示长度单位是4字节.(TCP报头最大长度是60字节,前面20字节是固定…...

ssm+mybatis无法给带有下划线属性赋值问题

原因&#xff1a;mybaitis根据配置&#xff0c;将有下划线的字段名改为了驼峰格式。 具体见&#xff1a;ssmmybatis无法给带有下划线属性赋值问题&#xff0c;无法获取数据库带下划线的字段值 - 开发者博客 解决方式&#xff1a; 直接将实体类中的下划线去掉返回值使用resul…...

学习笔记-JVM监控平台搭建

SpringBoot Actuator 1 引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId> </dependency>2 开启配置 # 暴露所有的监控点【含Prometheus】 management.endpoin…...

使用css实现时间线布局(TimeLine)

前言 在使用uni-app开发微信小程序过程中&#xff0c;遇到了时间轴布局&#xff0c;由于每项的内容高度不一致&#xff0c;使用uniapp自带的扩展组件uni-steps&#xff0c;样式布局无法对齐竖线&#xff0c;于是自己造轮子&#xff0c;完成特殊的布局。显示效果如下&#xff1…...

深入浅出 栈和队列(附加循环队列、双端队列)

栈和队列 一、栈 概念与特性二、Stack 集合类及模拟实现1、Java集合中的 Stack2、Stack 模拟实现 三、栈、虚拟机栈、栈帧有什么区别&#xff1f;四、队列 概念与特性五、Queue集合类及模拟实现1、Queue的底层结构&#xff08;1&#xff09;顺序结构&#xff08;2&#xff09;链…...

前端基础(二)

前言&#xff1a;前端开发框架——Vue框架学习。 准备工作&#xff1a;添加Vue devtools扩展工具 具体可查看下面的这篇博客 添加vue devtools扩展工具添加后F12不显示Vue图标_MRJJ_9的博客-CSDN博客 Vue官方学习文档 Vue.js - 渐进式 JavaScript 框架 | Vue.js MVVM M…...

ORB-SLAM2学习笔记7之System主类和多线程

文章目录 0 引言1 整体框架1.1 整体流程 2 System主类2.1 成员函数2.2 成员变量 3 多线程3.1 ORB-SLAM2中的多线程3.2 加锁 0 引言 ORB-SLAM2是一种基于特征的视觉SLAM&#xff08;Simultaneous Localization and Mapping&#xff09;系统&#xff0c;它能够从单个、双目或RBG…...

gin的占位符:和通配符*

1、用法 在 Gin 路由中&#xff0c;可以使用一个通配符&#xff08;*&#xff09;或一个占位符&#xff08;:&#xff09;来捕获 URL 的一部分。 r.GET("/royal/:id", func(c *gin.Context) {id : c.Param("id")//fmt.Println("into :id")c.Str…...

【量化课程】08_2.深度学习量化策略基础实战

文章目录 1. 深度学习简介2. 常用深度学习模型架构2.1 LSTM 介绍2.2 LSTM在股票预测中的应用 3. 模块分类3.1 卷积层3.2 池化层3.3 全连接层3.4 Dropout层 4. 深度学习模型构建5. 策略实现 1. 深度学习简介 深度学习是模拟人脑进行分析学习的神经网络。 2. 常用深度学习模型架…...

12-数据结构-数组、矩阵、广义表

数组、矩阵、广义表 目录 数组、矩阵、广义表 一、数组 二.矩阵 三、广义表 一、数组 这一章节理解基本概念即可。数组要看清其实下标是多少&#xff0c;并且二维数组&#xff0c;存取数据&#xff0c;要先看清楚是按照行存还是按列存&#xff0c;按行则是正常一行一行的去读…...

Idea 反编译jar包

实际项目中&#xff0c;有时候会需要更改jar包源码来达到业务需求&#xff0c;本文章将介绍一下如何通过Idea来进行jar反编译 1、Idea安装decompiler插件 2、找到decompiler插件文件夹 decompiler插件文件夹路径为&#xff1a;idea安装路径/plugins/java-decompiler/lib 3、…...

【Git】安装以及基本操作

目录 一、初识Git二、 在Linux底下安装Git一&#xff09;centOS二&#xff09;Ubuntu 三、 Git基本操作一&#xff09; 创建本地仓库二&#xff09;配置本地仓库三&#xff09;认识工作区、暂存区、版本库四&#xff09;添加文件五&#xff09;查看.git文件六&#xff09;修改文…...

Spring创建Bean的过程(2)

上一节介绍了Spring创建过程中的两个重要的接口&#xff0c;那么它们在创建Bean的过程中起到了什么作用呢&#xff1f;接下来请看&#xff1a; Spring有三种方式寻找 xml 配置文件&#xff0c;根据 xml 文件内容来构建 ApplicationContext&#xff0c;分别为ClassPathXmlAppli…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...

数据结构:递归的种类(Types of Recursion)

目录 尾递归&#xff08;Tail Recursion&#xff09; 什么是 Loop&#xff08;循环&#xff09;&#xff1f; 复杂度分析 头递归&#xff08;Head Recursion&#xff09; 树形递归&#xff08;Tree Recursion&#xff09; 线性递归&#xff08;Linear Recursion&#xff09;…...

书籍“之“字形打印矩阵(8)0609

题目 给定一个矩阵matrix&#xff0c;按照"之"字形的方式打印这个矩阵&#xff0c;例如&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为&#xff1a;1&#xff0c;…...