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

蓝桥杯考试总结汇总

一进考场设置devc快捷键

  1. 设置注释和取消注释快捷键
  2. 设置代码自动补全快捷键
  3. 开启devc调试功能,详细可以看怎么开调试功能https://blog.csdn.net/hz18790581821/article/details/78418648
  4. 比赛过程中,如果不相信自己是否做对,没有把握的,可以打印出过程来检验一下,在有些情况下是有用的。。。千万不能辛辛苦苦做了,居然因为最后一步错了!因为考场是不知道结果的,不能知道结果去验证靠近结果,而是要不断怀疑自己的结果是不是正确的!

注意事项

1、不要能用字符串直接输出的,就不要还用数组来判断,当数据量大的时候就会超时,明明都判断了,可以直接运行了,就不要多此一举放在数据里,因为它只有三个变量,又不是很多,所以完全可以各自单独列出来。

if(s[i] == "Mccree") cout<<"Genji";
else if(s[i] == "Hanzo") cout<<"Mccree";
else              cout<<"Hanzo";

错误示范

if(s[i]==des[0][0]) 	sa[i]=des[1][0];
else if(s[i]==des[0][1]) sa[i]=des[1][1];
else sa[i]=des[1][2];

sprintf()、memset()函数

用来格式化字符串,注意格式化的是字符数组
头文件#include< cstdio>

#include<iostream>
#include<cstdio>
using namespace std;
int main(){char s[15];sprintf(s, "%08d", 123);cout<<s<<endl;return 0;
}

sprintf(s, “%08d”, 123);可以使得字符串的输出格式为右对齐,以0补齐00000123

memset()函数:
参考学习链接:https://blog.csdn.net/qq_25406563/article/details/83303371?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3

memset(结构体/数组名 , 用于替换的ASCII码对应字符 , 前n个字符 );
memset(结构体/数组名 , "用于替换的字符“ , 前n个字符 );
函数解释:将s中的前n个字节用ch替换并且返回s
函数作用:在一段内存块中填充某一个给定的值,常用于较大的对结构体和数组的清零操作。

注意闰年

闰年判断方法
1.能被4整除而不能被100整除。
2.能被400整除。
平年是365,闰年是366天
闰年229天,平年228

有关日期的,题目很喜欢在2月份埋坑,要特别注意闰年平年

set容器、vector、map容器

构造set集合的主要目的是为了快速检索,使用set前,需要在程序头文件中包含声明“#include< set>”
它不会重复插入相同键值的元素,而采取忽略处理。
而且只要把元素放进set里面去,用for循环读取就可以按序读取
注意:初始化的方法,和输出的方式

//定义set容器,排序、避免冗余 set<string>e;for(set<string>::iterator it=e.begin();it!=e.end();it++) {cout<<"it: "<<*it<<endl;
//		cout<<*it<<endl;

另外,在买不到的糖果数的题目中也有用到set容器

if(s.find(i)==s.end()){//i不在set中,那么i就是答案cout<<i<<endl;break;//找到后跳出循环 }

stl容器set成员函数:find()–返回一个指向被查找到元素的迭代器

另外,在跳蚱蜢的题目中也有用到set容器

set<string> visited;//已经搜索过的局面
if(visited.count(s)==0)//如果没有搜索过这个局面{visited.insert(s);} 

stl容器set成员函数:count()返回集合中某个值元素的个数

set容器用 s.insert(temp);进行元素的插入

跟vector不一样,插入跟查找特定元素不一样

#include <algorithm>
vector<int> vec;
vec.push_back(1);        
vec.push_back(2);        
vector<int>::iterator ret;       ret = std::find(vec.begin(), vec.end(), 15);        if(ret == vec.end())            cout << "not found" << endl;        else            cout << "found it" << endl;

erase函数

https://blog.csdn.net/leo_csdn_/article/details/82221721

scanf()的好用处

scanf()在头文件#include< cstdio>里,作为有一定格式输入时更好用,如要输入02/03/04,

	int a[3],b[3];scanf("%d/%d/%d",&a[0],&a[1],&a[2]);

getline和cin对string的输入

getline(cin,string)读取一行以回车为结束,空格不会当成是结束的
但cin>>string;读取至空格或回车.
所以要每次读取一个单词时候用cin>>string,,即要把空格识别作为结束,所以用cin>>string。

常用的函数及其头文件

  1. strlen()函数,在< cstring>头文件里
  2. CCTYPE函数系列包含了判断是否是字符等函数
  3. sqrt()求平方根函数,atan2()函数可根据x和y的值计算角度。
  4. #include< algorithm> 里面有sort()排序函数
  5. min函数,比较两个数值的大小,返回他们的之间最小值。头文件#include < algorithm>。如 num = min(currentNum, num);
  6. 编程填空题可用的万能头文件#include<bits/stdc++.h>
  7. 绝对值函数 fabs()的头文件 #include< cmath>
  8. 全排列函数 next_permutation(a,a+10)头文件#include < algorithm>
  9. do{ 放置内容…… }while(next_permutation(a,a+10));
    虽然有10个元素,最后一个的下标也是a[9],但是区间的话是[a,a+10),所以还是以元素个数做为加多少的结尾
  10. gcd函数
    gcd(x,y);最大公约数函数
    int、long long类型都可以,需要注意的是两个类型必须要相同,还有不能用浮点型,当然手写gcd函数也是可以的,它头文件是algorithm。

while (cin >> income)问题

double income;
while (cin >> income)

当输入的不是数字的时候,压根不会进入while循环,因为不满足cin >> income的条件。cin>>被用于测试表达式中将根据输入是否成功,被转换为bool值true或false。cin>>将知道输入的如字符那些表示数字,从而将其留在队列中,并返回一个将被转换为false的值,这时while循环将会终止。

#include<iostream>
#include<string>
#include<sstream>
//新学的头文件using namespace std;
int main(){string s;while(getline(cin,s)){int sum =0,x;int count = 0;int i = 0;stringstream ss(s);//复制字符串s到stringstream ss while(ss>>x){sum+=x;cout<<"i++: "<<i++<<endl;}cout<<"count++: "<<count++<<endl;cout<<"sum: "<<sum<<endl;}return 0;
} 

getline (cin, stri)返回cin,cin再转换为bool值true(读入成功)或者false(读入失败),所以此次循环结束的就是按下ctrl+z

要注意类型以及溢出等问题!

有时候不注意int跟double,或者忽略了隐式类型转换,即使声明是double,但也可能被隐式转换为int了

double cal (int x,int y){double ave;
//	注意类型转换double,不然x和y会以int 类型进行计算,计算的ave的结果也是int ,不过有2.0跟2的差别 
//	ave = 2.0 * double(x * y) / (x + y);ave = 2.0* x * y / (x + y);
//	当乘以的是2的时候是整数,乘以是2.0的时候结果是浮点数 
//	ave = 2* x * y / (x + y);return ave;
}

包括一些声明的是long long类型,但是相乘的两个数是long类型,这样子long long就被隐式转换为long了就会溢出!!

STL容器学习

STL容器学习

  • 比如在错误的票据这道题里用了vector模板类,(注意头文件和声明)因为可以不用事先声明大小,而只需要一直把元素v.push_back(x);进去就好,还可以利用sort(v.begin(),v.end());快速的对容器的元素进行排序。还可以通过v.size()知道容器元素数量,然后通过for(int i=1;i<v.size();i++)遍历容器
  • 队列的学习和使用:学习链接
#include<iostream> 
#include<queue>using namespace std;int main(){queue<string> q;
//	入队,如例:q.push(x); 将x 接到队列的末端。q.push("zhangsan");q.push("lisi");q.push("wangwu");
//	判断队列空,如例:q.empty(),当队列空时,返回true。while(!q.empty()){
//		访问队首元素,如例:q.front(),即最早被压入队列的元素。cout<<q.front()<<endl;
//		出队,如例:q.pop(); 弹出队列的第一个元素,注意,并不会返回被弹出元素的值。q.pop();}
}

string字符串

查找字串的函数 str.find(subStr1) != string::npos 如果找到了返回string::npos ,subStr1需要是字符串

#include <cstring>//头文件
string str = "abc";
string subStr1 = "bc";
string subStr2 = "cd";
str.find(subStr1); //返回1,第一个匹配的下标
str.find(subStr2); 
//当str.find(subStr1) != string::npos时,说明是子串
//当str.find(subStr1) == string::npos时,说明不是子串
if(str.find(subStr1) != string::npos){cout<<"subStr1 是 str 的子串"<<endl;
}

stringstream

可以方便地实现了字符串与数字的互相转化

#include <sstream>//头文件
string i2s(int i){stringstream ss;string s;//把数字i存到ss中ss<<i;//把ss中有的转换为字符串sss>>s;return s;
}

涉及到多位数字相乘之类的

要把一个多位数看出多个位的单位数组成,用

for(int i=1;i<=9;i++)for(int j=0;j<=9;j++)for(int k=0;k<=9;k++)for(int l=0;l<=9;l++){

而不是

for(int x=1;x<=999;x++)for(int y=1;y<=999;y++)

比如在排他平方数里也是这样子。
有几位数就会用到几个for循环,比如四位数,用四个for循环,找出四个数,之后再用*1000,*100,*10之类的变成几千几百几十的数

编程题技巧

  1. 认真读题,认真分析题目,不要害怕
  2. 编程大题如果不会,千万不要放弃!因为有很多测试用例,可以暴力保证一些用例的测试是对的!这样子能赚一点分,能赚一点是一点!要有多拿一分是一分的想法,不能放弃掉!

相关文章:

蓝桥杯考试总结汇总

一进考场设置devc快捷键 设置注释和取消注释快捷键设置代码自动补全快捷键开启devc调试功能&#xff0c;详细可以看怎么开调试功能https://blog.csdn.net/hz18790581821/article/details/78418648比赛过程中&#xff0c;如果不相信自己是否做对&#xff0c;没有把握的&#xf…...

备战蓝桥杯【二维前缀和】

&#x1f339;作者:云小逸 &#x1f4dd;个人主页:云小逸的主页 &#x1f4dd;Github:云小逸的Github &#x1f91f;motto:要敢于一个人默默的面对自己&#xff0c;强大自己才是核心。不要等到什么都没有了&#xff0c;才下定决心去做。种一颗树&#xff0c;最好的时间是十年前…...

阿里P6细谈Python简易接口自动化测试框架设计与实现,我直呼内行

1、开发环境 操作系统&#xff1a;Ubuntu18 开发工具&#xff1a;IDEAPyCharm插件 Python版本&#xff1a;3.6 2、用到的模块 requests&#xff1a;用于发送请求 xlrd&#xff1a;操作Excel&#xff0c;组织测试用例 smtplib&#xff0c;email&#xff1a;发送测试报告 l…...

数据库存储

RAID DSL &#xff1a; Domain Spesic Language 专用领域语言 单机存储 一切皆Key-Value 本地文件系统 一切皆文件 Ceph - 分布式存储 关系型数据库通用组件 Query Engine &#xff1a;解析query&#xff0c;生成查询计划Txn Manager &#xff1a;事务并发管理Lock Man…...

hive学习笔记

一、Hive基本概念1.1 hive是什么hive是基于hadoop的一个数仓分析工具&#xff0c;hive可以将hdfs上存储的结构化的数据&#xff0c;映射成一张表&#xff0c;然后让用户写HQL(类SQL)来分析数据tel up down 1383838438 1345 1567 138383…...

7大体系防作弊,牛客放大招了!严肃笔试客户端上线!

如果问起学生对在线笔试的印象&#xff0c;“不公平”和“不服气”占了半壁江山。学生认为很多企业的在线笔试系统并不完善。原因一&#xff0c;不能有效地规避部分学生的作弊行为&#xff1b;原因二&#xff0c;在线考试系统不稳定&#xff0c;bug频出&#xff0c;导致笔试发挥…...

R语言广义可加模型在空气环境污染方面的应用(1)

粉丝私信我希望复制一篇文章的图片&#xff0c;图片来源于文章&#xff1a;Wu C, Yan Y, Chen X, Gong J, Guo Y, Zhao Y, Yang N, Dai J, Zhang F, Xiang H. Short-term exposure to ambient air pollution and type 2 diabetes mortality: A population-based time series st…...

CSDN 编程竞赛二十九期题解

竞赛总览 CSDN 编程竞赛二十九期&#xff1a;比赛详情 (csdn.net) 竞赛题解 题目1、订班服 小A班级订班服了&#xff01;可是小A是个小糊涂鬼&#xff0c;整错了好多人的衣服的大小。小A只能自己掏钱包来补钱了。小A想知道自己至少需要买多少件衣服。 #include <cstdio…...

基于STM32采用CS创世 SD NAND(贴片SD卡)完成FATFS文件系统移植与测试

一、前言 在STM32项目开发中&#xff0c;经常会用到存储芯片存储数据。 比如&#xff1a;关机时保存机器运行过程中的状态数据&#xff0c;上电再从存储芯片里读取数据恢复&#xff1b;在存储芯片里也会存放很多资源文件。比如&#xff0c;开机音乐&#xff0c;界面上的菜单图…...

K_A12_007 基于STM32等单片机驱动AS608光学指纹识别模块 OLED0.96显示

K_A12_007 基于STM32等单片机驱动AS608光学指纹识别模块 OLED0.96显示一、资源说明二、基本参数参数引脚说明三、驱动说明对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RCAS608光学指纹模块1.2、STM32F103C8T6AS608光学指纹模块五、基础知识学习与相关资料下载六、视…...

map和set介绍及其底层模拟实现

致努力前行的人&#xff1a; 要努力&#xff0c;但不要着急&#xff0c;繁花锦簇&#xff0c;硕果累累都需要过程&#xff01; 目录 1.关联式容器 2.键值对 3.树形结构的关联式容器 3.1set的介绍 3.2set的使用 3.3multiset的使用 3.4map的使用 3.5multimap的使用 4.常见的面试题…...

实现一个比ant功能更丰富的Modal组件

普通的modal组件如下&#xff1a; 我们写的modal额外支持&#xff0c;后面没有蒙版&#xff0c;并且Modal框能够拖拽 还支持渲染在文档流里&#xff0c;上面的都是fixed布局&#xff0c;我们这个正常渲染到文档下面&#xff1a; render部分 <RenderDialog{...restState}visi…...

2023美赛F题思路数据代码分享

文章目录赛题思路2023年美国大学生数学建模竞赛选题&论文一、关于选题二、关于论文格式三、关于论文提交四、论文提交流程注意不要手滑美赛F题思路数据代码【最新】赛题思路 (赛题出来以后第一时间在CSDN分享) 最新进度在文章最下方卡片&#xff0c;加入获取一手资源 202…...

Flutter如何与Native(Android)进行交互

前言 上一篇文章《Flutter混合开发&#xff1a;Android中如何启动Flutter》中我们介绍了如何在Native&#xff08;Android项目&#xff09;中启动Flutter&#xff0c;展示Flutter页面。但是在开发过程中&#xff0c;很多时候并不是简单的展示一个页面即可&#xff0c;还会涉及…...

数据库主从复制和读写分离

主从数据库和数据库集群的一些问题 数据库集群和主从数据库最本质的区别&#xff0c;其实也就是data-sharing和nothing-sharing的区别。集群是共享存储的。主从复制中没有任何共享。每台机器都是独立且完整的系统。 什么是主从复制? 主从复制&#xff0c;是用来建立一个和主数…...

Java并发编程面试题——线程安全(原子性、可见性、有序性)

文章目录一、原子性高频问题1.1 Java中如何实现线程安全?1.2 CAS底层实现1.3 CAS的常见问题1.4 四种引用类型 ThreadLocal的问题&#xff1f;二、可见性高频问题2.1 Java的内存模型2.2 保证可见性的方式2.3 volatile修饰引用数据类型2.4 有了MESI协议&#xff0c;为啥还有vol…...

DialogFragment内存泄露问题能不能一次性改好

孽缘 自DialogFragment在Android3.0之后作为一种特殊的Fragment引入&#xff0c;官方建议使用DialogFragment代替Dialog或者AllertDialog来实现弹框的功能&#xff0c;因为它可以更好的管理Dialog的生命周期以及可以更好复用。 然而建议虽好&#xff0c;实用须谨慎&#xff0c…...

java学习--多线程

多线程 了解多线程 ​ 多线程是指从软件或者硬件上实现多个线程并发执行的技术。 ​ 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程&#xff0c;提升性能。 并发和并行 并行&#xff1a;在同一时刻&#xff0c;有多个指令在CPU上同时执行并发&#xff1…...

90后阿里P7技术专家晒出工资单:狠补了这个,真香...

最近一哥们跟我聊天装逼&#xff0c;说他最近从阿里跳槽了&#xff0c;我问他跳出来拿了多少&#xff1f;哥们表示很得意&#xff0c;说跳槽到新公司一个月后发了工资&#xff0c;月入5万多&#xff0c;表示很满足&#xff01;这样的高薪资着实让人羡慕&#xff0c;我猜这是税后…...

2023美赛C题:Wordle筛选算法

Wordle 规则介绍 Wordle 每天会更新一个5个字母的单词&#xff0c;在6次尝试中猜出单词就算成功。每个猜测必须是一个有效的单词&#xff08;不能是不能组成单词的字母排列&#xff09;。 每次猜测后&#xff0c;字母块的颜色会改变&#xff0c;颜色含义如下&#xff1a; 程…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

《Docker》架构

文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器&#xff0c;docker&#xff0c;镜像&#xff0c;k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...

Yii2项目自动向GitLab上报Bug

Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...

Android Framework预装traceroute执行文件到system/bin下

文章目录 Android SDK中寻找traceroute代码内置traceroute到SDK中traceroute参数说明-I 参数&#xff08;使用 ICMP Echo 请求&#xff09;-T 参数&#xff08;使用 TCP SYN 包&#xff09; 相关文章 Android SDK中寻找traceroute代码 设备使用的是Android 11&#xff0c;在/s…...