蓝桥杯刷题冲刺 | 倒计时26天

作者:指针不指南吗
专栏:蓝桥杯倒计时冲刺

🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾

文章目录

  • 1.路径
  • 2.特别数的和
  • 3.MP3储存
  • 4.求和

1.路径

  • 题目

    链接: 路径 - 蓝桥云课 (lanqiao.cn)

    本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

    小蓝学习了最短路径之后特别高兴,他定义了一个特别的图,希望找到图 中的最短路径。

    小蓝的图由 2021 个结点组成,依次编号 1 至 2021。

    对于两个不同的结点 a, b,如果 a 和 b 的差的绝对值大于 21,则两个结点 之间没有边相连;如果 a 和 b 的差的绝对值小于等于 21,则两个点之间有一条 长度为 a 和 b 的最小公倍数的无向边相连。

    例如:结点 1 和结点 23 之间没有边相连;结点 3 和结点 24 之间有一条无 向边,长度为 24;结点 15 和结点 25 之间有一条无向边,长度为 75。

    请计算,结点 1 和结点 2021 之间的最短路径长度是多少。

    提示:建议使用计算机编程解决问题。

  • 第一次

    #include<bits/stdc++.h>
    using namespace std;
    
    const int N=2030;
    
    int g[N][N];
    
    int gcd(int a,int b)
    {
    	return b?gcd(b,a%b):a;
    }
    
    int gcs(int a,int b)
    {
    	return a*b/gcd(a,b);
    }
    
    int main()
    {
    	for(int i=1;i<2019;i++)
    		for(int j=i+1;j<=2019;j++)
    		{
    			if(j-i>21) g[i][j]=-1;
    			else g[i][j]=gcs(i,j);
    		}
    	
    	// 只会一个存储,emmm ,这个周末补上 图论 算法
    	
    	return 0;
    }
    
  • 正确题解

    
    #include<iostream>
    #include<cstring>       //memset()原型 
    using namespace std;
    const int N=3000;     
    const int INF=0x3f;    //这里可以理解为无穷大  
    int  graph[N][N];     //邻接矩阵存储图 
    int  dist[N]; 		  //记录最短路径值
    bool visited[N];      //判断节点是否访问
     
    int gcd(int a,int b){ //最大公约数 
    	return b==0?a:gcd(b,a%b);
    }
    int lem(int a,int b){ //最小公倍数 
    	return a*b/gcd(a,b);
    }
     
    int dijkstra(int n){
    	//初始化 
    	memset(dist,INF,sizeof(dist));
    	memset(visited,false,sizeof(visited));
    	dist[1]=0;
    	  
    	for(int i=1;i<=n;++i){
    		int k=-1;
    		for(int j=1;j<=n;++j){   //获取距离源点最近点 
    			if(!visited[j]&&(k==-1||dist[j]<dist[k])){
    				k=j;
    			}
    		}
    		visited[k]=true;
    		for(int j=1;j<=n;++j){
    			if(dist[k]+graph[k][j]<dist[j]){
    				dist[j]=dist[k]+graph[k][j]; 
    			}
    		}
    	}
    	if(dist[n]==INF)  return -1;
    	return dist[n]; 
    }
    int main(){
    	int n=2021;  //节点数 
    	//初始化 
    	memset(graph,INF,sizeof(graph));
    	//构图 
    	for(int i=1;i<=n;++i){
    		for(int j=1;j<=n;++j){
    			if(abs(i-j)<=21){
    				graph[i][j]=lem(i,j);
    			}
    		}
    	}
    	//求出最短路径,输出结果 
    	cout<<dijkstra(n)<<endl;
    	return 0;
    }
    
  • 反思

    掌握了 新的方法来求解 最大公约数

    到后面 ,看题解,有点看不懂了,没有学 图论 ,真是走不动路啊

2.特别数的和

  • 题目

    链接: 特别数的和 - 蓝桥云课 (lanqiao.cn)

    小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。

    请问,在 1 到 n 中,所有这样的数的和是多少?

    输入描述

    输入一行包含一个整数n(1≤n 1 0 4 10^4 104)。

    输出描述

    输出一行,包含一个整数,表示满足条件的数的和。

    示例

    输入

    40
    

    输出

    574
    
  • 我的题解

    #include<bits/stdc++.h>
    using namespace std;
    
    int check(int x)
    {
    	int t=x;
    	while(t>0)
    	{
    		int k=t%10;
    		if(k==2||k==0||k==1||k==9)
    			return x;
    		t/=10;
    	}
    	return 0;
    }
    
    int main()
    {
    	int n;
    	cin>>n;
    	
    	int sum=0;
    	for(int i=1;i<=n;i++)
    	{
    		sum+=check(i);
    	}
    	
    	cout<<sum;
    	
    	return 0;
    }
    
  • 反思

    希望在 蓝桥杯 可以遇到 这么简单的题 qwq

3.MP3储存

  • 题目

    本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

    如果一个 MP3 文件占用磁盘的大小是 4MB,小蓝的硬盘还剩下 100GB 的空间,请问他还可以放多少个这样的 MP3 文件?

  • 我的题解

    #include<bits/stdc++.h>
    using namespace std;
    
    int main()
    {
    	cout<<1024*100/4;
    	return 0;
    }
    
  • 知识补充

    1B(Byte 字节)=8bit,
    1KB (Kilobyte 千字节)=1024B,
    1MB (Megabyte 兆字节 简称“兆”)=1024KB,
    1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,
    1TB (Trillionbyte 万亿字节 太字节)=1024GB,其中1024=2^10 ( 2 的10次方)

  • 反思

    补充一下很基础的计算机知识,有点陌生了

4.求和

  • 题目

    链接: 求和 - 蓝桥云课 (lanqiao.cn)

    给定 n 个整数 a*1,a2,⋅⋅⋅,*a n ,求它们两两相乘再相加的和,即:

    S=a1⋅a2+a1⋅a3+⋯+a n−2⋅a n−1++ a n−1⋅a n

    输入格式

    输入的第一行包含一个整数 n

    第二行包含 n 个整数 a*1,a2,⋯,*a n

    输出格式

    输出一个整数 S*,表示所求的和。请使用合适的数据类型进行运算。

    样例输入

    4
    1 3 6 9
    

    样例输出

    117
    
  • 第一次

    #include<bits/stdc++.h>
    using namespace std;
    
    typedef long long LL;
    
    const int N=2*1e6+10;
    
    int a[N];
    
    int main()
    {
    	LL sum=0;
    	
    	int n;
    	scanf("%d",&n);
    	
    	for(int i=0;i<n;i++)
    		scanf("%d",&a[i]);
    	
    	for(int i=0;i<n-1;i++)
    		for(int j=i+1;j<n;j++)
    			sum+=a[i]*a[j];
    	
    	cout<<sum;
    	
    	return 0;
    }
    

    简单暴力,只能过 60%

  • 第二次,优化

    #include<bits/stdc++.h>
    using namespace std;
    
    typedef long long LL;
    
    const int N=2*1e6+10;
    
    int a[N];
    
    int main()
    {
    	LL sum=0,ans=0;
    	
    	int n;
    	scanf("%d",&n);
    	
    	for(int i=0;i<n;i++)
    	{
    		scanf("%d",&a[i]);
    		sum+=a[i];
    	}
    	
    	for(int i=0;i<n;i++)
    	{
    		sum-=a[i];  //“a[1]*a[2]"到"a[n]*(a[n-1]+a[n-2]+....+a[1])"求和
    		ans+=a[i]*sum;   //在这里优化:运用乘法分配律
    	}
    	
    	cout<<ans;
    	
    	return 0;
    }
    
  • 反思

    学会 连乘的优化

Alt

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

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

相关文章

算法学习之二分查找

&#x1f383;个人主页&#x1f383;&#xff1a;勇敢的小牛儿 &#x1f9e8;推荐专栏&#x1f9e8;&#xff1a;C语言知识点 ✨座右铭✨&#xff1a;敢于尝试才有机会 ⚠️今日鸡汤⚠️&#xff1a;Is the true wisdom fortitude ambition. -- Napoleon 真正的才智是刚毅的志向…

【云原生·Docker】常用命令

目录 &#x1f341;1、管理命令 &#x1f341;2、帮助命令 &#x1f341;3、镜像命令 &#x1f341;4、容器命令 &#x1f342;4.1.查看容器 &#x1f342;4.2.创建容器 &#x1f342;4.3.删除容器 &#x1f342;4.4.拷贝文件 &#x1f342;4.5.查看容器IP &#x1f341;5、部署…

LSTM从入门到精通(形象的图解,详细的代码和注释,完美的数学推导过程)

先附上这篇文章的一个思维导图什么是RNN按照八股文来说&#xff1a;RNN实际上就是一个带有记忆的时间序列的预测模型RNN的细胞结构图如下&#xff1a;softmax激活函数只是我举的一个例子&#xff0c;实际上得到y<t>也可以通过其他的激活函数得到其中a<t-1>代表t-1时…

C语言/动态通讯录

本文使用了malloc、realloc、calloc等和内存开辟有关的函数。 文章目录 前言 二、头文件 三、主界面 四、通讯录功能函数 1.全代码 2.增加联系人 3.删除联系人 4.查找联系人 5.修改联系人 6.展示联系人 7.清空联系人 8.退出通讯录 总结 前言 为了使用通讯录时&#xff0c;可以…

Opencv项目实战:22 物体颜色识别并框选

目录 0、项目介绍 1、效果展示 2、项目搭建 3、项目代码展示与部分讲解 Color_trackbar.py bgr_detector.py test.py 4、项目资源 5、项目总结 0、项目介绍 本次项目要完成的是对物体颜色的识别并框选&#xff0c;有如下功能&#xff1a; &#xff08;1&#xff09;…

线程池的使用:如何写出高效的多线程程序?

目录1.线程池的使用2.编写高效的多线程程序Java提供了Executor框架来支持线程池的实现&#xff0c;通过Executor框架&#xff0c;可以快速地创建和管理线程池&#xff0c;从而更加方便地编写多线程程序。 1.线程池的使用 在使用线程池时&#xff0c;需要注意以下几点&#xff…

GDAL python教程基础篇(7)OGR空间计算

1.空间计算 地理数据处理&#xff08;geoprocessing&#xff09;计算函数&#xff1a; 多边形&#xff08;Polygon&#xff09;&#xff1a; 1、交&#xff1a;poly3.Intersection(poly2) 2、并&#xff1a;poly3.Union(poly2) 3、差&#xff1a;poly3.Difference(poly2) 4、补…

python打包成apk界面设计,python打包成安装文件

大家好&#xff0c;给大家分享一下如何将python程序打包成apk文件&#xff0c;很多人还不知道这一点。下面详细解释一下。现在让我们来看看&#xff01; 1、如何用python制作十分秒加减的apk 如何用python制作十分秒加减的apk&#xff1f;用法:. apk包放入apk文件目录,然后输入…

Linux基础命令大全(下)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…

走进哈希心房

目录 哈希的概念 哈希函数 哈希冲突和解决方法 闭散列 插入 查找 删除 开散列 插入 查找 删除 哈希表&#xff08;开散列&#xff09;整体代码 位图 位图模拟实现思路分析&#xff1a; 位图应用 布隆过滤器 本文介绍unordered系列的关联式容器&#xff0c;unor…

安卓手机也可以使用新必应NewBing

没有魔法安卓手机也可以使用新必应NewBing 目前知道的是安卓手机 安卓手机先安装一个猴狐浏览器 打开手机自带浏览器&#xff0c;搜索关键词&#xff1a;猴狐浏览器&#xff0c;找到官网 也可以直接复制这个网址 狐猴浏览器 lemurbrowser CoolAPK 我的手机是荣耀安卓手机…

【正点原子FPGA连载】 第三十三章基于lwip的tftp server实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

第三十三章基于lwip的tftp server实验 文件传输是网络环境中的一项基本应用&#xff0c;其作用是将一台电子设备中的文件传输到另一台可能相距很远的电子设备中。TFTP作为TCP/IP协议族中的一个用来在客户机与服务器之间进行文件传输的协议&#xff0c;常用于无盘工作站、路由器…

「ML 实践篇」分类系统:图片数字识别

目的&#xff1a;使用 MNIST 数据集&#xff0c;建立数字图像识别模型&#xff0c;识别任意图像中的数字&#xff1b; 文章目录1. 数据准备&#xff08;MNIST&#xff09;2. 二元分类器&#xff08;SGD&#xff09;3. 性能测试1. 交叉验证2. 混淆矩阵3. 查准率与查全率4. P-R 曲…

2023年腾讯云服务器配置价格表(轻量服务器、CVM云服务器、GPU云服务器)

目前腾讯云服务器分为轻量应用服务器、云服务器云服务器云服务器CVM和GPU云服务器&#xff0c;首先介绍一下这三种服务。 1、腾讯云云服务器&#xff08;Cloud Virtual Machine&#xff0c;CVM&#xff09;提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源&#xff…

【经验总结】10年的嵌入式开发老手,到底是如何快速学习和使用RT-Thread的?(文末赠书5本)

【经验总结】一位近10年的嵌入式开发老手&#xff0c;到底是如何快速学习和使用RT-Thread的&#xff1f; RT-Thread绝对可以称得上国内优秀且排名靠前的操作系统&#xff0c;在嵌入式IoT领域一直享有盛名。近些年&#xff0c;物联网产业的大热&#xff0c;更是直接将RT-Thread这…

python绘制图像中心坐标二维分布曲线

数据和代码如下所示&#xff1a; import pandas as pd import numpy as np import matplotlib.pyplot as plt import xlrd from scipy.stats import multivariate_normal from mpl_toolkits.mplot3d import Axes3D np.set_printoptions(suppressTrue)# 根据均值、标准差,求指定…

SuperMap iMobile for Android 地图开发(一)

第一步&#xff1a;创建 Android Studio 项目 第一步&#xff1a;创建 Android Studio 项目 Android Studio 有两种创建项目的方法。 第一种是在 Android Studio起始页选择“Start a new Android Studio Project”。 第二种是在 Android Studio 主页选择“File”–>“New P…

数仓建模—主题域和主题

主题域和主题 前面在这个专题的第一篇,也就是数仓建模—数仓初识中我们就提到了一个概念—主题,这个概念其实在数仓的定义中也有提到 数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。 今天我们主要来探究一下,数仓的主题到底是…

Multi-Camera Color Correction via Hybrid Histogram Matching直方图映射

文章目录Multi-Camera Color Correction via Hybrid Histogram Matching1. 计算直方图&#xff0c; 累计直方图&#xff0c; 直方图均衡化2. 直方图规定化&#xff0c;直方图映射。3. 实验环节3.1 输入图像3.2 均衡化效果3.3 映射效果4. 针对3实验环节的伪影 做处理和优化&…

ChatGPT研究分析:GPT-4做了什么

前脚刚研究了一轮GPT3.5&#xff0c;OpenAI很快就升级了GPT-4&#xff0c;整体表现有进一步提升。追赶一下潮流&#xff0c;研究研究GPT-4干了啥。本文内容全部源于对OpenAI公开的技术报告的解读&#xff0c;通篇以PR效果为主&#xff0c;实际内容不多。主要强调的工作&#xf…