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

蓝桥杯第二十场小白入门赛

2.黛玉泡茶

我的思路代码:(但我不知道哪有错误)

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;int main(){int n,m,k,res=1;cin>>n>>m>>k;vector<int>num(n+1,0);for(int i=1;i<=n;i++) cin>>num[i];sort(num.begin()+1,num.end());int sum=m;for(int i=1;i<=k;i++){sum-=num[i];if(sum<0){sum+=m;res++;}}cout<<res<<endl;return 0;
}

正确的思路代码:

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;int main(){int n,m,k,res=0;cin>>n>>m>>k;vector<int>num(n+1,0);for(int i=1;i<=n;i++) cin>>num[i];sort(num.begin(),num.end());for(int i=1;i<=k;i++) res+=num[i];if(res%m==0)cout<<res/m<<endl;else cout<<res/m+1<<endl;return 0;
}

反思:我知道了。查看了测试用例后,我才明白,可能茶壶容量远小于一杯茶的容量,也就是说,你要倒满一杯茶,需要接好几次水壶,而我的代码中循环一次res最多也加一。后果就是,对于这类测试用例,我的循环结束了,我的sum还远远小于0,还没加成正值。

3.宝玉请安

我的错误思路代码:

#include <iostream>
#include<cmath>
using namespace std;
int main()
{int t,x1,x2,x3;int res=0;//需走的步数cin>>t;while(t--){cin>>x1>>x2>>x3;if((x2<x1&&x3<x1)||(x2>x1&&x3>x1)){if(x2>x3) res=abs(x2-x1);else res=abs(x3-x1);}else if((x2<x1&&x3>x1)||(x2>x1&&x3<x1)){if(abs(x1-x3)<abs(x1-x2)){res=abs(x1-x3)+abs(x2-x3);}else res=abs(x1-x2)+abs(x3-x2);}cout<<res<<endl;}// 请在此输入您的代码return 0;
}

正确思路代码:

#include <iostream>
#include<cmath>
using namespace std;
int main()
{int t,x1,x2,x3;int res=0;//需走的步数cin>>t;while(t--){cin>>x1>>x2>>x3;res=min(abs(x1-x2),abs(x1-x3))+abs(x2-x3);cout<<res<<endl;}// 请在此输入您的代码return 0;
}

反思:思考了好长时间,不知道自己为什么错,就是觉得自己的思路很正确,难受死了。最后看了看别人的和我相似的思路,才发现原来自己思路有漏洞,我把可能情况分两部分,一是两个目标地点在同一侧,二是不在同一侧。在同一侧的步数统计有问题,我直接判断两点谁更大,实际上应该判断两点谁离x1更远。

还学到了别人的直触本质的思路。本质上是x1到x2或x3其中一个,让后再在x2,x3之间行走。

4.贾母祝寿

我的思路代码:

#include <iostream>
#include<cmath>
#include<vector>
using namespace std;
int main()
{int n,q;long long res=0;cin>>n>>q;vector<long long>stone(n,0);while(q--){int t,x,y;cin>>t>>x>>y;if(t==1){for(int i=0;i<x;i++){stone[i]+=y;}}else {for(int i=n-1;i>=n-x;i--){stone[i]-=y;}}}for(int i=0;i<n;i++){stone[i]=abs(stone[i]);res=max(res,stone[i]);}cout<<res<<endl;// 请在此输入您的代码return 0;
}

正确思路代码:

#include <iostream>
#include<cmath>
#include<vector>
using namespace std;
int main()
{int n,q;long long res=0;cin>>n>>q;long long num1=0,num2=0;while(q--){int t,x,y;cin>>t>>x>>y;if(t==1){num1+=y;if(x==n)num2+=y;}else {num2-=y;if(x==n) num1-=y;}}res=max(abs(num1),abs(num2));cout<<res<<endl;// 请在此输入您的代码return 0;
}

反思:我的思路时间复杂度太高,O(n*m),n的数据范围是10^5,m的数据范围是10^9。

 5.清洁客房

我根本没想到用dp数组,我想用排列组合做一下,没做出来。

#include <iostream>
#include<vector>
using namespace std;
int N = 1e5+1;
int mod = 1e9 + 7;
int main()
{vector<vector<long>> dp(N, vector<long>(4,0));//前i个房间选择j种的方案类型for(int i=1;i<N;i++)dp[i][1]=9;for (int i = 2; i <N; i++) {for (int j = 2; j <= 3; j++) {dp[i][j] = (dp[i - 1][j - 1] * (10 - (j - 1))%mod  + dp[i - 1][j] * j%mod ) % mod;}}int t, n;cin >> t;while (t--) {cin >> n;cout << dp[n][3] << endl;}// 请在此输入您的代码return 0;
}

dp数组含义:dp[i][j]前i个房间选择j种等级的方案数 (i,j均从0开始)

6.宝玉与黛玉的考验

正确代码

#include<iostream>
#include<string>
using namespace std;int n, m, k;
string a, b;
long get(long a, long b) {return k * a + k * b - 2 * a * b;
}int main() {cin >> n >> m >> k >> a >> b;int mxa = 0, mxb = 0, mna = k, mnb = k, sum = 0;//滑动窗口,找出4个值、for (int i = 0; i < n; i++) {sum += a[i] - '0';if (i >= k) {sum -= a[i - k] - '0';mxa = max(sum, mxa);mna = min(sum, mna);}}sum = 0;for (int i = 0; i < m; i++) {sum += b[i] - '0';if (i >= k) {sum -= b[i - k] - '0';mxb = max(sum, mxb);mnb = min(sum, mnb);}}cout << max(max(get(mxa, mxb), get(mxa, mnb)), max(get(mna, mxb), get(mna, mnb))) << endl;return 0;
}

思路:这题看来是和数学思维相关。开始我想了遍历整个二维数组,但是很明显超时。

用数学思维来分析:设k*k区间中分别有a行,b列被选中,即长度为n的字符串中有a个1,长度为m的字符串中有b个1。那么这个区间的价值为ka-ab+kb-ab=-2(a-k/2)(b-k/2)+k^2/2。(k是常量,a,b是变量)a,b单独变化,这个表达式 的最值在a,b取到端点的时候取到最值。那么就求a,b的最大小值。求的过程用到滑动窗口。

相关文章:

蓝桥杯第二十场小白入门赛

2.黛玉泡茶 我的思路代码&#xff1a;&#xff08;但我不知道哪有错误&#xff09; #include<iostream> #include<vector> #include<algorithm> using namespace std;int main(){int n,m,k,res1;cin>>n>>m>>k;vector<int>num(n1,0…...

K 个一组反转链表

力扣第 25 题&#xff1a;K 个一组反转链表 题目描述 给定一个链表&#xff0c;将链表每k个节点一组进行反转&#xff0c;并返回修改后的链表。如果最后一组节点数少于 k&#xff0c;则保持原顺序。 示例 1&#xff1a; 输入&#xff1a;1 -> 2 -> 3 -> 4 -> 5&…...

#深度学习:从基础到实践

深度学习是人工智能领域近年来最为火热的技术之一。它通过构建由多个隐藏层组成的神经网络模型&#xff0c;能够从海量数据中自动学习特征和表征,在图像识别、自然语言处理、语音识别等领域取得了突破性进展。本文将全面介绍深度学习的基础知识、主要算法和实践应用,帮助您快速…...

Android Kotlin中协程详解

博主前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住也分享一下给大家&#xff0c; &#x1f449;点击跳转到教程 前言 Kotlin协程介绍&#xff1a; Kotlin 协程是 Kotlin 语言中的一种用于处理异步编程的机制。它提供了一…...

【webpack学习】

webpack由于历史包袱导致复杂&#xff0c;只要把握关键流程即可 webpack的主要流程loader plugin难点&#xff1a;HMR / 懒加载 原理webpack 的优化手段 构建工具对比 webpack &#xff1a;可以打包任何资源&#xff0c;配置略复杂&#xff0c;适合项目开发rollup&#xff1…...

H5实现PDF文件预览,使用pdf.js-dist进行加载

H5实现PDF文件预览&#xff0c;使用pdf.js-dist进行加载 一、应用场景 在H5平台上预览PDF文件是在原本已经开发完成的系统中新提出的需求&#xff0c;原来的系统业务部门是在PC端进行PDF的预览与展示&#xff0c;但是现在设备进行了切换&#xff0c;改成了安卓一体机进行文件…...

面试域——面试系统工程

摘要 1. 当前就业面试场景 1.1. 招聘市场的“551 定律” 你知道招聘市场的“551 定律”吗&#xff1f; 551 定律&#xff1a;每一层筛选环节都会有百分之十的折损率。一个岗位从接收简历到发下 Offer 至少要筛选 500 份左右的简历、面试 50 人左右、只有 5 人左右通过面试&am…...

PHP-FPM 性能配置优化

4 核 8 G 服务器大约可以开启 500 个 PHP-FPM&#xff0c;极限吞吐量在 580 qps &#xff08;Query Per Second 每秒查询数&#xff09;左右。 Nginx php-fpm 是怎么工作的&#xff1f; php-fpm 全称是 PHP FastCGI Process Manager 的简称&#xff0c;从名字可得知&#xff…...

渗透测试-百日筑基—SQL注入篇时间注入绕过HTTP数据编码绕过—下

day8-渗透测试sql注入篇&时间注入&绕过&HTTP数据编码绕过 一、时间注入 SQL注入时间注入&#xff08;也称为延时注入&#xff09;是SQL注入攻击的一种特殊形式&#xff0c;它属于盲注&#xff08;Blind SQL Injection&#xff09;的一种。在盲注中&#xff0c;攻击…...

Unity - UGUI动静分离

原理&#xff1a;UGUI 是基于Canvas来进行合并计算的 1.不同Cavans的UI元素&#xff0c;是无法合批渲染&#xff0c;无法实现同一个drawcall 2. 每次合批的时候&#xff0c;会合并计算Canvas下所有的UI元素 , 具体流程: Step1: 对Cavans下所有的UI元素进行合批计算 Step2: …...

arm 体系架构-过程调用约定

ref&#xff1a; ARM体系结构学习笔记&#xff1a;过程调用标准AAPC、 ARM32调用约定、ARM64调用约定_arm64 传参 结构体-CSDN博客 ARM软件逆向工程入门 01 - ARM调用约定&#xff08;Calling Convention&#xff09;_armv7函数调用约定-CSDN博客 ARM学习&#xff08;17&…...

STM32基于LL库的USART+DMA使用

时隔两年半再次更新LL库&#xff0c;本次带来USART DMA 实现接收不定长。 1、开发思路 使用USART DMA接收不定长的功能的思路是&#xff1a;借助USART的空闲中断、DMA发送完成中断。 打开F103的手册可得知&#xff0c;USART的空闲中断触发条件是在接收完成后触发&#xff0…...

设计模式06-结构型模式1(适配器/桥接/组合模式/Java)

#1024程序员节&#xff5c;征文# 4.1 适配器模式 结构型模式&#xff08;Structural Pattern&#xff09;的主要目的就是将不同的类和对象组合在一起&#xff0c;形成更大或者更复杂的结构体。结构性模式的分类&#xff1a; ​ 类结构型模式关心类的组合&#xff0c;由多个类…...

【损害和风险评估&坑洼】路面坑洼检测系统源码&数据集全套:改进yolo11-DCNV3

改进yolo11-DLKA等200全套创新点大全&#xff1a;路面坑洼检测系统源码&#xff06;数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.10.24 注意&#xff1a;由于项目一直在更新迭代&#xff0c;上面“1.图片效果展示”和“2.视频效果展示”展示的系统图片或者视频可…...

GenAI 生态系统现状:不止大语言模型和向量数据库

自 20 个月前 ChatGPT 革命性的推出以来&#xff0c;生成式人工智能&#xff08;GenAI&#xff09;领域经历了显著的发展和创新。最初&#xff0c;大语言模型&#xff08;LLMs&#xff09;和向量数据库吸引了最多的关注。然而&#xff0c;GenAI 生态系统远不止这两个部分&#…...

gitlab 配置ssh keys

settings -- 终端配置&#xff1a; git config --global user.email "yxthotmail.cm" 配置gitlab 账号邮箱 git config --global user.name "xt.yao" 配置gitlab账号用户名 生成SSH key&#xff0c;输入命令ssh-keygen -t rsa&#xff0c;一直按回车…...

小程序开发实战:PDF转换为图片工具开发

目录 一、开发思路 1.1 申请微信小程序 1.2 编写后端接口 1.3 后端接口部署 1.4 微信小程序前端页面开发 1.5 运行效果 1.6 小程序部署上线 今天给大家分享小程序开发系列&#xff0c;PDF转换为图片工具的开发实战&#xff0c;感兴趣的朋友可以一起来学习一下&#xff01…...

我有两台120kw充电桩一天能赚多少钱

&#xff08;当前是理想状态下&#xff0c;当然还要看场地费用&#xff0c;还有物业&#xff0c;变压器&#xff0c;等等&#xff09; ———————————————————— ———————————————————— 要计算两台120kW充电桩能赚多少钱&#xff0c;我们…...

深入了解 Android 中的命名空间:`xmlns:tools` 和其他常见命名空间

在 Android 开发中&#xff0c;xmlns &#xff08;.xml的namespace&#xff09;命名空间是一个非常重要的概念。通过引入不同的命名空间&#xff0c;可以使用不同的属性来设计布局、设置工具属性或者支持自定义视图等。除了 xmlns:tools 以外&#xff0c;还有很多常见的命名空间…...

stable-zero123模型构建指南

一、介绍 stabilityai出品&#xff0c;能够对有简单背景的物体进行三维视角图片的生成&#xff0c;简单来说也就是通过调整变换观察的视角生成对应视角的图片。 本项目通过comfyui实现。 二、容器构建说明 1. 部署ComfyUI &#xff08;1&#xff09;使用命令克隆ComfyUI g…...

Betaflight飞控固件:2025年如何让你的穿越机飞行更稳定更智能?

Betaflight飞控固件&#xff1a;2025年如何让你的穿越机飞行更稳定更智能&#xff1f; 【免费下载链接】betaflight Open Source Flight Controller Firmware 项目地址: https://gitcode.com/gh_mirrors/be/betaflight 还在为穿越机飞行抖动、信号不稳定而苦恼吗&#x…...

C++ 算法实战:从鸡兔同笼到多元方程求解的编程思维演进

1. 从鸡兔同笼开始理解算法思维 记得第一次接触鸡兔同笼问题时&#xff0c;我正啃着铅笔头对着数学作业发愁。题目说笼子里有35个头和94只脚&#xff0c;问鸡和兔各有多少只。这个看似简单的应用题&#xff0c;后来竟成了我算法思维的启蒙老师。 用C解决这个问题时&#xff0c;…...

反射式红外光电管ITR9909:从基础测试到智能车竞赛应用实战

1. ITR9909反射式红外光电管基础入门 第一次拿到ITR9909这个小家伙时&#xff0c;我差点被它朴素的外表骗了。这个直径不到5mm的黑色塑料封装器件&#xff0c;看起来就像普通的三极管&#xff0c;但它的能力可不容小觑。作为智能车竞赛的老玩家&#xff0c;我发现它在信标检测…...

如何突破百度网盘下载限速?这款开源工具让你重获高速下载自由

如何突破百度网盘下载限速&#xff1f;这款开源工具让你重获高速下载自由 【免费下载链接】baidupcs-web 项目地址: https://gitcode.com/gh_mirrors/ba/baidupcs-web 还在为百度网盘那令人绝望的下载速度而苦恼吗&#xff1f;当你看着进度条缓慢爬行&#xff0c;大文件…...

手把手教你用CH342 USB转串口模块在Ubuntu 22.04上调试(附dmesg日志分析)

手把手教你用CH342 USB转串口模块在Ubuntu 22.04上调试&#xff08;附dmesg日志分析&#xff09; 嵌入式开发中&#xff0c;串口调试是最基础却最容易出问题的环节。当你在Ubuntu 22.04上插入CH342模块准备调试ESP32开发板时&#xff0c;是否遇到过设备无法识别、权限拒绝或者波…...

Epson M-G366PDG:工业级高性能惯性测量单元,精准稳定首选

引言在工业自动化、机器人、无人机等领域&#xff0c;惯性测量单元&#xff08;IMU&#xff09;是至关重要的传感器之一。它能够提供高精度的姿态和运动数据&#xff0c;从而确保系统的稳定性和可靠性。Epson M-G366PDG 作为一款工业级高性能 IMU&#xff0c;凭借其卓越的性能和…...

从NIST到Interatomic Repository:金属体系L-J势参数高效检索与验证指南

1. 金属模拟中的L-J势参数为何如此重要 我第一次用LAMMPS模拟镁合金拉伸过程时&#xff0c;发现结果和实验数据差了十万八千里。折腾了两周才发现问题出在Lennard-Jones势参数上——当时随便找了个文献值就用&#xff0c;结果模拟出的晶格常数比实际小了15%。这个教训让我明白…...

CherryPy与数据库集成:SQLAlchemy和ORM模式详解

CherryPy与数据库集成&#xff1a;SQLAlchemy和ORM模式详解 【免费下载链接】cherrypy CherryPy is a pythonic, object-oriented HTTP framework. https://cherrypy.dev 项目地址: https://gitcode.com/gh_mirrors/ch/cherrypy CherryPy是一个Python风格的面向对象HTTP…...

STM32串口通信调试实录:从灯不亮到数据收发自如,我踩过的那些坑

STM32串口通信调试实录&#xff1a;从灯不亮到数据收发自如&#xff0c;我踩过的那些坑 那是一个周五的深夜&#xff0c;实验室里只剩下我和闪烁的示波器。屏幕上跳动的波形仿佛在嘲笑我的无能——明明按照教程一步步配置好了STM32的串口通信&#xff0c;可连接在PE5引脚的LED灯…...

终极指南:如何使用Chrome插件markdownReader提升Markdown阅读体验

终极指南&#xff1a;如何使用Chrome插件markdownReader提升Markdown阅读体验 【免费下载链接】markdownReader markdownReader is a extention for chrome, used for reading markdown file. 项目地址: https://gitcode.com/gh_mirrors/ma/markdownReader 还在为浏览器…...