蓝桥杯考试总结汇总
一进考场设置devc快捷键
- 设置注释和取消注释快捷键
- 设置代码自动补全快捷键
- 开启devc调试功能,详细可以看怎么开调试功能https://blog.csdn.net/hz18790581821/article/details/78418648
- 比赛过程中,如果不相信自己是否做对,没有把握的,可以打印出过程来检验一下,在有些情况下是有用的。。。千万不能辛辛苦苦做了,居然因为最后一步错了!因为考场是不知道结果的,不能知道结果去验证靠近结果,而是要不断怀疑自己的结果是不是正确的!
注意事项
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天
闰年2月29天,平年2月28天
有关日期的,题目很喜欢在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。
常用的函数及其头文件
- strlen()函数,在< cstring>头文件里
- CCTYPE函数系列包含了判断是否是字符等函数
- sqrt()求平方根函数,atan2()函数可根据x和y的值计算角度。
- #include< algorithm> 里面有sort()排序函数
- min函数,比较两个数值的大小,返回他们的之间最小值。头文件#include < algorithm>。如 num = min(currentNum, num);
- 编程填空题可用的万能头文件#include<bits/stdc++.h>
- 绝对值函数 fabs()的头文件 #include< cmath>
- 全排列函数 next_permutation(a,a+10)头文件#include < algorithm>
do{ 放置内容…… }while(next_permutation(a,a+10));
虽然有10个元素,最后一个的下标也是a[9],但是区间的话是[a,a+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之类的变成几千几百几十的数
编程题技巧
- 认真读题,认真分析题目,不要害怕
- 编程大题如果不会,千万不要放弃!因为有很多测试用例,可以暴力保证一些用例的测试是对的!这样子能赚一点分,能赚一点是一点!要有多拿一分是一分的想法,不能放弃掉!
相关文章:
蓝桥杯考试总结汇总
一进考场设置devc快捷键 设置注释和取消注释快捷键设置代码自动补全快捷键开启devc调试功能,详细可以看怎么开调试功能https://blog.csdn.net/hz18790581821/article/details/78418648比赛过程中,如果不相信自己是否做对,没有把握的…...

备战蓝桥杯【二维前缀和】
🌹作者:云小逸 📝个人主页:云小逸的主页 📝Github:云小逸的Github 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前…...

阿里P6细谈Python简易接口自动化测试框架设计与实现,我直呼内行
1、开发环境 操作系统:Ubuntu18 开发工具:IDEAPyCharm插件 Python版本:3.6 2、用到的模块 requests:用于发送请求 xlrd:操作Excel,组织测试用例 smtplib,email:发送测试报告 l…...

数据库存储
RAID DSL : Domain Spesic Language 专用领域语言 单机存储 一切皆Key-Value 本地文件系统 一切皆文件 Ceph - 分布式存储 关系型数据库通用组件 Query Engine :解析query,生成查询计划Txn Manager :事务并发管理Lock Man…...
hive学习笔记
一、Hive基本概念1.1 hive是什么hive是基于hadoop的一个数仓分析工具,hive可以将hdfs上存储的结构化的数据,映射成一张表,然后让用户写HQL(类SQL)来分析数据tel up down 1383838438 1345 1567 138383…...

7大体系防作弊,牛客放大招了!严肃笔试客户端上线!
如果问起学生对在线笔试的印象,“不公平”和“不服气”占了半壁江山。学生认为很多企业的在线笔试系统并不完善。原因一,不能有效地规避部分学生的作弊行为;原因二,在线考试系统不稳定,bug频出,导致笔试发挥…...

R语言广义可加模型在空气环境污染方面的应用(1)
粉丝私信我希望复制一篇文章的图片,图片来源于文章: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 编程竞赛二十九期:比赛详情 (csdn.net) 竞赛题解 题目1、订班服 小A班级订班服了!可是小A是个小糊涂鬼,整错了好多人的衣服的大小。小A只能自己掏钱包来补钱了。小A想知道自己至少需要买多少件衣服。 #include <cstdio…...

基于STM32采用CS创世 SD NAND(贴片SD卡)完成FATFS文件系统移植与测试
一、前言 在STM32项目开发中,经常会用到存储芯片存储数据。 比如:关机时保存机器运行过程中的状态数据,上电再从存储芯片里读取数据恢复;在存储芯片里也会存放很多资源文件。比如,开机音乐,界面上的菜单图…...

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

map和set介绍及其底层模拟实现
致努力前行的人: 要努力,但不要着急,繁花锦簇,硕果累累都需要过程! 目录 1.关联式容器 2.键值对 3.树形结构的关联式容器 3.1set的介绍 3.2set的使用 3.3multiset的使用 3.4map的使用 3.5multimap的使用 4.常见的面试题…...

实现一个比ant功能更丰富的Modal组件
普通的modal组件如下: 我们写的modal额外支持,后面没有蒙版,并且Modal框能够拖拽 还支持渲染在文档流里,上面的都是fixed布局,我们这个正常渲染到文档下面: render部分 <RenderDialog{...restState}visi…...

2023美赛F题思路数据代码分享
文章目录赛题思路2023年美国大学生数学建模竞赛选题&论文一、关于选题二、关于论文格式三、关于论文提交四、论文提交流程注意不要手滑美赛F题思路数据代码【最新】赛题思路 (赛题出来以后第一时间在CSDN分享) 最新进度在文章最下方卡片,加入获取一手资源 202…...
Flutter如何与Native(Android)进行交互
前言 上一篇文章《Flutter混合开发:Android中如何启动Flutter》中我们介绍了如何在Native(Android项目)中启动Flutter,展示Flutter页面。但是在开发过程中,很多时候并不是简单的展示一个页面即可,还会涉及…...
数据库主从复制和读写分离
主从数据库和数据库集群的一些问题 数据库集群和主从数据库最本质的区别,其实也就是data-sharing和nothing-sharing的区别。集群是共享存储的。主从复制中没有任何共享。每台机器都是独立且完整的系统。 什么是主从复制? 主从复制,是用来建立一个和主数…...

Java并发编程面试题——线程安全(原子性、可见性、有序性)
文章目录一、原子性高频问题1.1 Java中如何实现线程安全?1.2 CAS底层实现1.3 CAS的常见问题1.4 四种引用类型 ThreadLocal的问题?二、可见性高频问题2.1 Java的内存模型2.2 保证可见性的方式2.3 volatile修饰引用数据类型2.4 有了MESI协议,为啥还有vol…...
DialogFragment内存泄露问题能不能一次性改好
孽缘 自DialogFragment在Android3.0之后作为一种特殊的Fragment引入,官方建议使用DialogFragment代替Dialog或者AllertDialog来实现弹框的功能,因为它可以更好的管理Dialog的生命周期以及可以更好复用。 然而建议虽好,实用须谨慎,…...

java学习--多线程
多线程 了解多线程 多线程是指从软件或者硬件上实现多个线程并发执行的技术。 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。 并发和并行 并行:在同一时刻,有多个指令在CPU上同时执行并发࿱…...

90后阿里P7技术专家晒出工资单:狠补了这个,真香...
最近一哥们跟我聊天装逼,说他最近从阿里跳槽了,我问他跳出来拿了多少?哥们表示很得意,说跳槽到新公司一个月后发了工资,月入5万多,表示很满足!这样的高薪资着实让人羡慕,我猜这是税后…...

2023美赛C题:Wordle筛选算法
Wordle 规则介绍 Wordle 每天会更新一个5个字母的单词,在6次尝试中猜出单词就算成功。每个猜测必须是一个有效的单词(不能是不能组成单词的字母排列)。 每次猜测后,字母块的颜色会改变,颜色含义如下: 程…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
二维FDTD算法仿真
二维FDTD算法仿真,并带完全匹配层,输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...
从实验室到产业:IndexTTS 在六大核心场景的落地实践
一、内容创作:重构数字内容生产范式 在短视频创作领域,IndexTTS 的语音克隆技术彻底改变了配音流程。B 站 UP 主通过 5 秒参考音频即可克隆出郭老师音色,生成的 “各位吴彦祖们大家好” 语音相似度达 97%,单条视频播放量突破百万…...

免费批量Markdown转Word工具
免费批量Markdown转Word工具 一款简单易用的批量Markdown文档转换工具,支持将多个Markdown文件一键转换为Word文档。完全免费,无需安装,解压即用! 官方网站 访问官方展示页面了解更多信息:http://mutou888.com/pro…...
scan_mode设计原则
scan_mode设计原则 在进行mtp controller设计时,基本功能设计完成后,需要设计scan_mode设计。 1、在进行scan_mode设计时,需要保证mtp处于standby模式,不会有擦写、编程动作。 2、只需要固定mtp datasheet说明的接口即可…...

【Redis】Redis 的持久化策略
目录 一、RDB 定期备份 1.2 触发方式 1.2.1 手动触发 1.2.2.1 自动触发 RDB 持久化机制的场景 1.2.2.2 检查是否触发 1.2.2.3 线上运维配置 1.3 检索工具 1.4 RDB 备份实现原理 1.5 禁用 RDB 快照 1.6 RDB 优缺点分析 二、AOF 实时备份 2.1 配置文件解析 2.2 开启…...
【Flask】:轻量级Python Web框架详解
什么是Flask? Flask是一个用Python编写的轻量级Web应用框架。它被称为"微框架"(microframework),因为它核心简单但可扩展性强,不强制使用特定的项目结构或库。Flask由Armin Ronacher开发,基于Werkzeug WSGI工具包和Jin…...