蓝桥杯真题——洛谷Day13 找规律(修建灌木)、字符串(乘法表)、队列(球票)

news/2025/3/20 13:19:45/

目录

找规律

P8781 [蓝桥杯 2022 省 B] 修剪灌木

 字符串

P8723 [蓝桥杯 2020 省 AB3] 乘法表

队列

P8641 [蓝桥杯 2016 国 C] 赢球票


找规律

P8781 [蓝桥杯 2022 省 B] 修剪灌木

思路:对某个特定的点来说有向前和向后的情况,即有向前再返回到该位置和从该位置向后再返回到该位置的两种情况,枚举这两种情况取最大值

详细思路:

#include<iostream>
#include<algorithm>
using namespace std;int main()
{int n;cin>>n;for(int i=1;i<=n;i++)//枚举每一颗树{//对左右边的路径进行比较,由于会往返注意要乘2 cout<<max(i-1,n-i)*2<<endl; } return 0;
}

 字符串

P8723 [蓝桥杯 2020 省 AB3] 乘法表


进制的转换:短除法(熟知的方法就是整数十进制转换位2进制)

注意!!乘法表输出的每一个数都要是在n进制下的数,不是只有答案是n进制!!

#include<iostream>
#include<cstring>
#include<algorithm>using namespace std;int n;string check(int x,int y)//将十进制数转换为n进制 
{int t=x*y;//十进制数 string s;while(t)//短除法进行进制转换 {int r=t%n;if(r>=10)//十六进制以上的情况s+=r-10+'A';elses+=r+'0'; t/=n;}//最后需要逆序取结果,但是此时的结果是正序reverse(s.begin(),s.end());return s;}
int main()
{cin>>n;for(int i=1;i<n;i++){for(int j=1;j<=i;j++){cout<<check(i,1)<<'*'<<check(j,1)<<'='<<check(i,j)<<' ';}cout<<endl;}return 0;
}

队列

P8641 [蓝桥杯 2016 国 C] 赢球票

思路:纸牌的顺序给定,能从所有的位置开始,求能拿的最大数字和
这道题要使用队列,具有先进先出的性质,即
题目中的纸牌是一个圆圈,遍历时要进行循环遍历,且具有先进先出的形式,即可判断需要使用队列

#include<iostream>
#include<algorithm>
#include<queue>using namespace std;const int N=100+10;
int n;
int a[N];int check(int x)//开始拿取的位置 
{queue<int> q;//建立一个队列,存放循环数据//因为纸牌围成一个圈,根据题目规则,当拿取位置是x时//一定是先遍历x之后的数,再遍历x之前的数 for(int i=x;i<=n;i++)//将x位置之后的数据入队,使其存放在队前 q.push(a[i]);for(int i=1;i<x;i++)//将x之前的数入队 ,使其存放在队后q.push(a[i]);int sum=0;//卡牌数之和 int tmp=1;//记录从1开始的数的数 while(q.size()){int t=q.front();q.pop();//先将队头数据取出进行判断if(t==tmp)//数到的数与卡牌数相同{sum+=t;tmp=1;//拿取后需从头开始 } else//数的数与卡牌数不同 {q.push(t);//不同,将该数如队尾,遍历下一个数 tmp++;//数下一个数 }if(tmp>n)//已经数完了,即这种拿法结束break ;} return sum;
}
int main()
{cin>>n;for(int i=1;i<=n;i++)	cin>>a[i];int ans=0;for(int i=1;i<=n;i++)//对每个位置进行遍历ans=max(check(i),ans); cout<<ans<<endl;return 0;
}


http://www.ppmy.cn/news/1580600.html

相关文章

碰一碰发视频后端源码技术,支持OEM

引言 在移动互联网时代&#xff0c;便捷的分享体验成为众多应用追求的目标。碰一碰发视频功能为用户提供了一种新奇且高效的视频分享方式。这种功能背后的后端开发涉及到多种技术的协同工作&#xff0c;以确保分享过程的稳定、安全与高效。本文将深入探讨碰一碰发视频后端源码…

DeepSeek大模型在政务服务领域的应用

DeepSeek大模型作为国产人工智能技术的代表&#xff0c;近年来在政务服务领域的应用呈现多点开花的态势。通过多地实践&#xff0c;该技术不仅显著提升了政务服务的效率与智能化水平&#xff0c;还推动了政府治理模式的创新。以下从技术应用场景、典型案例及发展趋势三个维度进…

DeepSeek:AI 搜索引擎的革新者?

DeepSeek&#xff1a;AI 搜索引擎的革新者&#xff1f; 在人工智能技术飞速发展的当下&#xff0c;信息检索的方式也在悄然改变。DeepSeek 作为一款新兴的 AI 搜索引擎&#xff0c;试图革新传统搜索体验&#xff0c;以更智能、精准的方式帮助用户获取信息。那么&#xff0c;它究…

华为IPD六个阶段细分:研发效率提升的6个关键步骤

如何在结构化流程中实现研发效能的飞跃&#xff1f; 华为凭借IPD&#xff08;集成产品开发&#xff09;体系&#xff0c;在全球化竞争中持续打造爆款产品&#xff0c;其核心在于将市场需求、技术开发与资源管理高度融合。本文深入解析IPD的六个阶段&#xff0c;并结合跨行业实…

acwing1233.全球变暖

算法&#xff1a;Flood Fill bfs / dfs 统计被完全淹没的岛屿 两种方法&#xff1a; 1. 使用 total 和 bound 记录岛屿格子的数量和被淹没的格子数量&#xff0c;如果 bound total&#xff0c;说明这个岛屿被完全淹没了。 #include <iostream> #include <cstri…

【合新通信】---射频光模块

射频光模块&#xff08;RF Optical Module&#xff09;是一种将射频信号与光信号相互转换的设备&#xff0c;广泛应用于无线通信、雷达、卫星通信、光纤通信等领域。以下是关于射频光模块的详细介绍&#xff1a; 一、射频光模块的基本概念 定义&#xff1a; 射频光模块是一种将…

第七章 排序算法法法

算法时间复杂度 衡量一个算法的时间复杂度 度量一个程序(算法)执行时间的两种方法 事后统计法 这种方法可行,但是有两个问题:一是要想对涉及的算法的运行性能进行评测,需要实际运行该程序;二是所得时间的统计量依赖于计算机的硬件,软件等环境因素,这种方式,要在同一台计算机的…

涨薪技术|Kubernetes(k8s)之yaml语法大全

01yaml介绍 YAML 语言(发音 /ˈjməl/ )的设计目标&#xff0c;就是方便人类读写。YAML代表YAML Aint Markup Language,是一种数据序列化语言。它实质上是一种通用的数据串行化格式,它的基本语法规则如下。 大小写敏感; 使用缩进表示层级关系; 缩进时不允许使用Tab键&#xf…