2024.3.24阶段性测试题解

VJ测试链接考试链接
成绩表如下,信息学是非常检验平时努力的,而且也是一分耕耘一分收获的,总的来说每天订正晚训跟只订正一部分题还是有区别的…希望同学们再接再厉。
在这里插入图片描述

A题
简单判断题,单独判断首字母,再判断其余字母。

#include<bits/stdc++.h>
using namespace std;
char s[500];
int main(){cin>>s+1;int n=strlen(s+1);bool ok=true;for(int i=2;i<=n;i++){if('a'<=s[i]&&s[i]<='z'){}else{ok=false;break;}}if(ok==true&&'A'<=s[1]&&s[1]<='Z')cout<<"Yes";else cout<<"No";return 0;
}B题
首先你要知道,什么叫字母表顺序最早?
abcdefg....这就是字母表顺序
所以本题我们先统计每种字母的个数,从中找到数量最多的值
然后枚举字母表a~z,谁的数量=最大数量那么就是输出它```cpp
#include<bits/stdc++.h>
using namespace std;
char s[1005];
int vis[30];
int main(){cin>>s+1;int n=strlen(s+1);int ma=0;for(int i=1;i<=n;i++){vis[s[i]-'a'+1]++;ma=max(ma,vis[s[i]-'a'+1]);} for(int i=1;i<=26;i++){if(vis[i]==ma){cout<<char('a'+i-1);return 0;}}return 0;
}

C题
因为A菜需要N个菜各个材料才能做出来,最终能最多做出来多少个A菜取决于哪种材料是最经不起消耗的,也就是假如说某种材料能支持最多做800个A菜,但是另一种材料最多只支持做8个A菜,那么你只能最多做8个A菜,因为会涉及到材料不足的问题。所以我们先枚举一遍A菜的消耗,计算出i材料最多能支持做多少个A菜,取最小值,那么就能计算出最多能做出多少道A菜。

枚举制作i=0~i=A_max道A菜,然后枚举N个原材料的消耗,A的材料消耗了以后用剩余的材料去看看最多能计算多少个B菜,然后A的数量+B的数量就是总数,对总数取最大值就是我们最多能做的总菜数。注意存在消耗为0的情况。

#include<bits/stdc++.h>
using namespace std;
#define int long long  
int Q[20];
int A[20];
int B[20];
signed main(){int n;cin>>n;for(int i=1;i<=n;i++){cin>>Q[i];}int curA=1e7;for(int i=1;i<=n;i++){cin>>A[i];if(A[i]==0)continue;if(Q[i]/A[i]<curA){curA=Q[i]/A[i];}}//计算最多做多少个A   for(int i=1;i<=n;i++){cin>>B[i];}   int ans=0;bool ok=true;for(int i=0;i<=curA;i++){//制作I个A菜   int now=1e7;for(int j=1;j<=n;j++){if(Q[j]-i*A[j]<0){ok=false;break;}else if(Q[j]-i*A[j]==0){if(B[j]==0)continue;else now=0;}else if(B[j]!=0){now=min(now,(Q[j]-i*A[j])/B[j]);}} if(!ok)break;ans=max(ans,i+now);}cout<<ans;return 0;
}

D题
简单题,枚举o即可

#include<bits/stdc++.h>
using namespace std;signed main(){int n;cin>>n;cout<<"L";for(int i=1;i<=n;i++){cout<<"o";}cout<<"ng";return 0;
}

E题
求二进制末尾里面连续0的个数
。。。。其实就是类似于十进制数拆出每个数字位的方法
因为都是从低位开始拆的,也就是末尾
所以对数字N拆分二进制,不断除2 ,%2,余数为0说明当前这个位的数字是0,那么答案++,否则break

#include<bits/stdc++.h>
using namespace std;signed main(){int n;cin>>n;int ans=0;while(n!=0){if(n%2==0)ans++;else break;n=n/2;}cout<<ans;return 0;
}

F题
这其实是进制思想的经典套路题
有所的位的取值情况只能是偶数,那么相当于你每一位上有5种情况,组合成数字,求第多少小的数字。

我们不妨想想这个问题,对于十进制数来说,每个位取值是0~9
我要求第x小的数如何求呢?
我们可以把x逐步地从低位开始摆放,因为十进制情况第x小就是数字x。同理把这个方法拓展到本题,每个位有五种选择,我们就当成5进制,那么问题就变成了把题目输入的N转换成5进制。5进制位上的0 实际上表示的是数字0 ,5进制位上的1,实际上表示的数字是2,5进制位上的2,实际上表示的是数字4…以此类推

最终就把数字求出来了
这个题实际上跟去年温州市赛的最后一题原理一模一样

#include<bits/stdc++.h>
using namespace std;
int A[500];
int B[10];
signed main(){long long int n;cin>>n;n--;if(n==0){cout<<0;return 0;}int len=0;B[0]=0;for(int i=1;i<=4;i++){B[i]=B[i-1]+2;}while(n!=0){A[++len]=B[n%5];n=n/5;}for(int i=len;i>=1;i--)cout<<A[i];return 0;
}

G题
我们考虑以ai结尾的最长左金字塔序列长度为L[i] ,以ai为首的最长右金字塔序列长度为R[i] ,那么实际上如果以ai作为金字塔中心,能够成的最长金字塔序列就是L[i] 跟R[i] 取最小值。

扫一遍所有的ai,就能求出答案。
问题是L[i]如何求解?
考虑一种状态转移
L[0]=0
那么对于ai来说,L[i]=min(L[i-1]+1,ai)
为什么呢? 因为左边以ai结尾,金字塔的最长长度绝对不可能比ai本身还要大; 如果能跟前面衔接一下,那么长度就是L[i-1]+1; 当然有同学好奇这样子转移,是如何做到"移除第一项或者最后一项 的" 我举个例子 1 1 1 1 2 3 4 5 从左到右依次对应的L[i]就是1 1 1 1 2 3 4 5,所以说如果存在a[i-1]与a[i]无法衔接的情况(因为衔接起来会导致当前L[i]>a[i]) ,但是上一步至多是持平的,所以说如此转移。

#include<bits/stdc++.h>
using namespace std;
int L[200005];
int R[200005];
int A[200005];
int main(){int n;cin>>n;for(int i=1;i<=n;i++){cin>>A[i];}for(int i=1;i<=n;i++){L[i]=min(L[i-1]+1,A[i]);}int ans=0;for(int i=n;i>=1;i--){R[i]=min(R[i+1]+1,A[i]);ans=max(ans,min(R[i],L[i]));}cout<<ans;return 0;
}

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

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

相关文章

Java 学习和实践笔记(45):数组的遍历,复制,

数组的两种遍历方式&#xff1a; package innerClass;public class Test01 {public static void main(String[] args) {String[] cities {"北京","上海","广州","深圳",};//遍历方式一&#xff0c;这是一般的方式for (int i0; i<…

AI大模型学习:理论基石、优化之道与应用革新

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

列车票务信息管理系统设计与实现|jsp+ Mysql+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW调试部署环境&#xff0c;文末可获取本项目的所有资料。 推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java…

OpenLayers基础教程——WebGLPoints中要素样式的设置方法解析

1、前言 前一篇博客介绍了如何在OpenLayers中使用WebGLPoints加载海量数据点的方法&#xff0c;这篇博客就来介绍一下WebGLPoints图层的样式设置问题。 2、样式运算符 在VectorLayer图层中&#xff0c;我们只需要创建一个ol.style.Style对象即可&#xff0c;WebGLPoints则不…

Photoshop 工具使用详解(全集 · 2024版)

全面介绍 Photoshop 工具箱里的工具&#xff0c;点击下列表格中工具名称或图示&#xff0c;即可查阅工具的使用详解。 移动工具Move Tool移动选区、图层和参考线。画板工具Artboard Tool创建、移动多个画布或调整其大小。moVe快捷键&#xff1a;V 矩形选框工具 Rectangular Mar…

信号处理之快速傅里叶变换(FFT)

信号处理之快速傅里叶变换FFT 历史溯源欧拉公式傅里叶级数(FS)傅里叶变换(FT)离散傅里叶级数(DFS)离散时间傅里叶变换(DTFT)离散傅里叶变换(DFT)快速傅里叶变换(FFT)MATLAB中常用的FFT工具FFT中常见的问题 历史溯源 相信很多人知道傅里叶变换&#xff0c;但是很多人对傅里叶变…

【Springboot3+Mybatis】文件上传阿里云OSS 基础管理系统CRUD

文章目录 一、需求&开发流程二、环境搭建&数据库准备三、部门管理四、员工管理4.1 分页(条件)查询4.2 批量删除员工 五、文件上传5.1 介绍5.2 本地存储5.3 阿里云OSS1. 开通OSS2. 创建存储空间Bucket 5.4 OSS快速入门5.5 OSS上传显示文件 六、配置文件6.1 yml配置6.2 C…

云原生(五)、Docker-Swarm集群

基础环境说明 1、环境准备 1、启动4台服务器&#xff08;在同一个网段内&#xff09;。 2、重命名4台服务器&#xff0c;方便区分。 hostnamectl set-hostname swarm1 reboot安装docker。参考文章&#xff1a;云原生&#xff08;二&#xff09;、Docker基础 2、DockerSwarm…

Qt打开已有工程方法

在Qt中&#xff0c;对于一个已有工程如何进行打开&#xff1f; 1、首先打开Qt Creator 2、点击文件->打开文件或项目&#xff0c;找到对应文件夹下的.pro文件并打开 3、点击配置工程 这样就打开对应的Qt项目了&#xff0c;点击运行即可看到对应的效果 Qt开发涉及界面修饰…

jmeter断言使用方法

断言主流的有两种&#xff1a;响应断言、JSON断言 响应断言 1、http请求添加响应断言 2、三种作用域&#xff1a;第一种既作用主请求又作用子请求、只作用主请求、只作用子请求。我们默认选中间的仅作用主请求即可。 3、测试字段和匹配规则 测试字段一般选择响应文本即可&am…

备战蓝桥杯D33 - 真题 - 松散子序列

题目描述 解题思路 ps&#xff1a;思路是我看了大佬的题解后自己的理解&#xff0c;自己给自己捋清楚思路。 1.设置输入&#xff0c;将字符串输入 2.因为输入的是字符&#xff0c;但要找出字符的最大价值&#xff0c;所以先将字符串转化成对应的数值。 这时候就要用到ord函…

HTTPS协议的工作原理:保护网络通信的安全盾牌

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

阿里云4核16G服务器价格26.52元1个月、149.00元半年,ECS经济型e实例

阿里云4核16G服务器优惠价格26.52元1个月、79.56元3个月、149.00元半年&#xff0c;配置为阿里云服务器ECS经济型e实例ecs.e-c1m4.xlarge&#xff0c;4核16G、按固定带宽 10Mbs、100GB ESSD Entry系统盘&#xff0c;活动链接 aliyunfuwuqi.com/go/aliyun 活动链接打开如下图&a…

【计算机网络】常见面试题汇总

文章目录 1.计算机网络基础1.1网络分层模型/OSI七层模型是什么&#xff1f;1.2TCP/IP四层模型是什么&#xff1f;每一层的作用&#xff1f;1.2.1TCP四层模型&#xff1f;1.2.2为什么网络要分层&#xff1f; 1.2常见网络协议1.2.1应用层常见的协议1.2.2网络层常见的协议 2.HTTP2…

前端学习之css 定位与浮动

定位 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>定位和浮动</title><style>*{/* 将模块紧紧贴着浏览器边框 */margin: 0;}.c{background-color: blueviolet;width: 100px;height: 1…

【Tanshtech】生物膜/细胞膜包裹的纳米颗粒的制备

癌症传统治疗的限制性&#xff0c;如化疗产生的非靶向副作用以及肿瘤可能产生的耐药性&#xff0c;使得医生需要在抗肿瘤活性和患者安全之间取得平衡。纳米医学在解决这一问题上发挥了巨大作用&#xff0c;纳米制剂能够被动或主动靶向到肿瘤部位。而纳米载体也被用于提高药物的…

HTTP(2)

HTTP 通信过程包括从客户端发往服务器端的请求及从服务器端返回客户端的响应。 那么请求和响应是怎样运作的呢 HTTP 报文 用于 HTTP 协议交互的信息被称为 HTTP 报文。 请求端&#xff08;客户端&#xff09;的HTTP 报文叫做请求报文&#xff0c;响应端&#xff08;服务器…

静态路由综合实验

一.实验拓扑图 二.实验要求 1、R6为ISP&#xff0c;接口IP地址均为公有地址&#xff0c;该设备只能配置IP地址&#xff0c;之后不能再对其进行任何配置&#xff1b; 2、R1-R5为局域网&#xff0c;私有IP地址192.168.1.0/24&#xff0c;请合理分配&#xff1b; 3、R1、R2、R…

亚马逊云科技《生成式 AI 精英速成计划》

最近亚马逊云科技推出了「生成式AI精英速成计划」&#xff0c;获取包含&#xff1a;免费学习热门生成式AI课程、技能证书、人力主管的面试辅导、云计算国际认证、免费去往北美参加全球用户大会等&#xff5e; 针对开发者和企业非技术专业人士&#xff0c;了解如何使用大模型平台…

OpenCV学习笔记(十一)——利用Sobel算子计算梯度

Sobel算子是基于一阶导数的离散差分算子&#xff0c;其中Sobel对于像素值的变化是十分敏感的&#xff0c;在进行边缘检测的时候&#xff0c;Sobel算子常用于对周围像素的重要性进行检测。 Sobel算子包括检验水平方向的算子和检测竖直方向的算子 计算机梯度值的操作如下&#x…