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

news/2024/5/3 1:37:49/文章来源:https://blog.csdn.net/qq_73659829/article/details/130021939

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

🐾蓝桥杯加油,大家一定可以🐾

文章目录

我是菜菜,最近容易我犯的错误总结 + 一些tips
各位蓝桥杯加油加油

    • 当输入输出数据不超过 1e6 时,scanf printfcin cout 是没有差距的;
    • 超过这个数据范围时,就是用 scanf printf
  1. 多次调式,自己手写几组数据,用代码测试一下

    输入格式,和输出格式,逐一对照题目

    用 int 还是 char 读入多组输出结果 是用空格开始换行 ,大小写是否正确

    • dev 先开 10个 窗口,把框架打上去,做好准备,可以先 默写一个板子,试试手感
    • 带不同颜色的笔,可能很有用
  2. 自己设置样例,把所有的临界情况,都写出来;尽可能多的,想想出题人出怎么卡你

    • 截断的话,强制转化,double 类型
    • 加 0.5 :3.5和3.6、3.4 +0.5 再强制转化,成int 截断
    • 四舍五看单双 x*100%10判断它
    • printf 直接包含 四舍五入
  3. 注意由负数和0,1,2等特殊情况,把这几个值作为样例,带入到里面去调试

  4. 并查集的板子,太细了,仔细看看

  5. 考虑边界条件,是否可以取到,是否需要多取一个

  6. 取最中间两个数的,表示方法记住:[(n+1)/2] [(n+2)/2]

    认真审题!!注意到每一句话,太重要了

10.数据类型错了 应该是 double , 我一直写的 int , 最后才发现

  1. 一定要确保数据类型使用正确
  2. 巧用 word 和 excel ,来解答
  3. 数据范围,一定要明确,输入范围,不代表结果的范围,大坑
  4. 当 运算结果不正确的时候 Debug , 可以用一个比较小的数,从头到尾走一遍,在纸上写一写

走的时候,不要看 大致思路 , 出错往往是那些不起眼的小地方 ,每一个关键字 ,都 走一遍

  1. 先把逻辑再纸上写一遍,再开始写代码

  2. 写代码的时候,逻辑很乱,条理不清晰,提前没有写注释,后面修改的时候,就很懵

    动手模拟一下,往往会事半功倍

    此外,数据开的范围要足够大

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

  4. sum=-1e18; //让 sum 尽可能的小,因为输入的数中含有负数

  5. 读题,理解他深层次的要求,明确要求什么

    属于一个规律题,编号可以 推出来

  6. 发散性思维,在做蓝桥杯的时候,遇到这种 数 的题,先静下心来,找找规律

  7. 定义变量之前,先想清楚,它的数据类型和范围

  8. 有向无环图才会有拓扑序列,所以有向无环图又称为拓扑图,无向图没有,环也没有

    入度:有几条边进入某个顶点;出度:有几条边从某个顶点出去

    拓扑练习

  9. 注意最后的输出格式,别最后好不容易算对了,结果格式错了,太冤了

  10. 原来还可以使用结构体,确实简单了不少

    sort函数的重载

  11. ^异或两个位相同为0,相异为1。
    ~取反
  12. img

  13. 数字可以使用 string 字符串,来储存比较各个数位

  14. 双向和自环,注意

  15. while(a[m]==0)  //去掉前导0,优化
    {m++;
    }
    
  16. 对于题中给的数据范围,要分情况分析,尤其是含有负数、0、正数的情况

  17. 遇到捆绑问题+排序问题的时候,使用结构体处理数据

    两组数据的时候,可以使用双重数组,里面有排序的话 ,拒绝数组

  18. 还有就是数据很大,一律不用使用 int ,省的后期还得改

  19. 0x7fffffffffffffffL; // long long的最大

  20. dfs 递归回溯

  21. bfs 不断扩展 直到找到结果

  22. 全排列

  23. 坐标表示,(1,1)在左下角

    for(int i=n; i>=1; i--)
    {for(int j=1; j<=m; j++){s[i][j]=getchar();if (s[i][j]=='.')cnt++;//统计有多少个空}getchar();
    }
    
  24. dist、h的初始化

  25. vector 二维数组:

    • vector<int> q[m] 表示可以往 q[1],q[2] 里面放一个数组,

    q[2][3] 表示 q[2]这个数组的 第 3个元素,根据上面题中理解更透彻

    而且还可以 使用 q[2].size() 就很方便

  26. 注意谁除谁,觉得结果很离谱,就转化一下思维,从另一个角度来理解题

  27. 动手在纸上模拟,思路就会很清晰,千万别硬想

  28. 仔细阅读输出提示,-1 的情况

  29. 在浮点数精度问题上,和在某范围内查找某个数的时候特别是大范围就使用二分算法

  30. 1.reverse(str.begin(),str.end()) 反转字符串2.reverse(vector.begin(),vector.end()) 反转向量3.reverse(a,a+strlen(a)) 反转数组
    
  31. 找规律,发散思维,很有可能有递归,看看前后几个数之间的关系

    递归函数,可能会超时,考试的时候,就直接使用 数组来代替函数

  32. 使用 switch 执行不同的函数

47.dfs 回溯+深搜+恢复现场
考试的时候,不会的题,一定要把样例写上去,骗分!

  1. s=to_string(n):数字转为字符串
  2. s=substr(start,length):复制子字符串,从指定位置开始并具有指定的长度,substr(start , length)
  3. n=stoi(s):字符串转为数字,stoi(字符串 , 起始位置 , n进制)
  • stoi(字符串,起始位置,n2~32进制),将n进制的字符串转化为十进制
  1. 截取全部字串

    for (int i = 0; i < str.size(); i ++) 
    for (int j = 1; j <= str.size() - i; j ++)  //注意这里的细节  1、!、= -istring s = str.substr(i , j);  
    
  2. 判断素数

    bool prime_number(int num)  //判断素数 方法一
    {if (num <= 3)  return num > 1;if (num % 2 == 0)  return false;if (num %6 != 1 && num % 6 != 5)  return false;for (int i = 3; i < sqrt(num); i += 2)if (num % i == 0)  return false;return true;
    }
    
  3. 输出技巧:使用 flag 标记第一个数,符号带在数的前面(说的有点抽象,结合上面这个题理解)

使用 多个 if else 来判断条件,是否输出相对应的符号

  1. unsigned int0~4294967295 (10位数,4e9)
    int-2147483648~2147483647 (10位数,2e9 2^{31}-1)
    long long-9223372036854775808~9223372036854775807 (19位数, 9e18 ) 2^{63}-1
    unsigned long long0~18446744073709551615 (20位数,1e19) 2^{64} - 1
  2. m是 10510^5105 级别的话就是稠密图,m是n级别的就是稀疏图

    ps数组元素个数不能太多,一开始用的 1e5 ,编译过不去

  3. 进制转化问题:

    1. 填空题直接借助于计算器
    2. 编程,注意累乘的进位的顺序,别整反了;使用字符串来储存数字
    3. '0’是字符0的意思,他所对应的ASCII码为48;而0是数字0,ASCII中的0
  4. ASCII 转换公式

    0-9A-Za-z
    ASCII码值48-5765-9097-122
    • ASCII码值大小:数字<大写字母<小写字母
    • 以上三种ASCII码因为都是连续的,所以都可以加相应的数从而得到之后的ASCII码值
    • 小写转大写:小写字母 - ‘a’ + ‘A’
    • 大写转小写:大写字母 - ‘A’ + ‘a’
    • 小写转数字:小写字母 - ‘a’ + ‘0’
    1. 原值减去 原对应类型的第一个值 (置零);
    2. 然后加上 所求类型的第一个值的ASCII
  5. 从13!开始就开始爆int;

    从21!开始就开始爆 long long;

    高精度乘法,把小的int存

  6. long double 输出用%Lf

  7. 绝对值 整数时,使用 abs;浮点数,使用 fabs

  8. 使用万能头的话,不要使用 y1

  9. 三角形面积

    //海伦公式 long double p=(a+b+c)/2;
    S=sqrt(p*(p-a)*(p-b)*(p-c));   //背过printf("%.2Lf\n",S);  //这里,输出 Lf
    
S=fabs(x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2)*1.0/2;  //这里,abs的使用,面积没有负的,坐标法
  1. 函数来改变某个变量,记得使用 引用

  2. 使用邻接表的时候 h 初始化 + add ,初始化别丢

  3. 什么问题可以运用二分搜索算法技巧?

    1. 首先,你要从题目中抽象出一个自变量 x,一个关于 x 的函数 f(x),以及一个目标值 target

    2. 同时,x, f(x), target 还要满足以下条件:

      f(x) 必须是在 x 上的单调函数(单调增单调减都可以)

      题目是让你计算满足约束条件 f(x) == target 时的x的值。

  4. 利用 map 键值对来存 每一数在数组中出现的次数,然后就可以直接使用了

    开 long long 不要犹豫

  5.  while(n){ans++;n&=(n-1);  //这里是计算 n 二进制中1的个数} 
    
  6. 直接不断地乘2,错以为每个偶数都可以包含在内,4*2=8,6就没有包含进去;

  7. 骗分,yes or no 二选一,运气好的话,拿一半多得分

  8. 学会剪枝,特殊情况,使用break 来缩短时间

  9. 编号坐标注意是从 0 开始还是 1 开始

  10. 双指针的一般思路就是,先想出来暴力朴素算法,然后使用双指针优化

各位,蓝桥杯加油!!

Alt

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

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

相关文章

elasticsearch基础6——head插件安装和web页面查询操作使用、ik分词器

文章目录一、基本了解1.1 插件分类1.2 插件管理命令二、分析插件2.1 es中的分析插件2.1.1 官方核心分析插件2.1.2 社区提供分析插件2.2 API扩展插件三、Head 插件3.1 安装3.2 web页面使用3.2.1 概览页3.2.1.1 unassigned问题解决3.2.2 索引页3.2.3 数据浏览页3.2.4 基本查询页3…

微服务+springcloud+springcloud alibaba学习笔记(1/9)

1.微服务简介 什么是微服务呢&#xff1f; 就是将一个大的应用&#xff0c;拆分成多个小的模块&#xff0c;每个模块都有自己的功能和职责&#xff0c;每个模块可以 进行交互&#xff0c;这就是微服务 简而言之&#xff0c;微服务架构的风格&#xff0c;就是将单一程序开发成…

项目管理案例分析有哪些?

项目管控中遇到的问题有哪些&#xff1f;这些问题是如何解决的&#xff1f; 在项目管理领域&#xff0c;案例分析是一种常见的方法来学习和理解项目管理实践&#xff0c;下面就来介绍几个成功案例&#xff0c;希望能给大家带来一些参考。 1、第六空间&#xff1a;快速响应个性…

1669_MIT 6.828 xv6代码的获取以及编译启动

全部学习汇总&#xff1a; GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 6.828的学习的资料从开始基本信息的讲解&#xff0c;逐步往unix的一个特殊版本xv6过度了。这样&#xff0c;先得熟悉一下这个OS的基本代码以及环境。 在课程中其实…

最短路径算法及Python实现

最短路径问题 在图论中&#xff0c;最短路径问题是指在一个有向或无向的加权图中找到从一个起点到一个终点的最短路径。这个问题是计算机科学中的一个经典问题&#xff0c;也是许多实际问题的基础&#xff0c;例如路线规划、通信网络设计和交通流量优化等。在这个问题中&#…

Downloader工具配置参数并烧录到flash中

1 Downloader工具介绍 Downloader工具可以用来烧录固件到设备中&#xff0c;固件格式默认为*dcf。该工具还可以用来在线调试EQ或者进行系统设置。 2 配置参数 2.1 作用 当有一个dcf文件时&#xff0c;配合不同的配置文件*.setting&#xff0c;在不进行编译的情况下&#xff…

【毕业设计】ESP32通过MQTT协议连接服务器(二)

文章目录0 前期教程1 前言2 配置SSL证书3 配置用户名和密码4 配置客户端id&#xff08;client_id&#xff09;5 conf文件理解6 websocket配置7 其他资料0 前期教程 【毕业设计】ESP32通过MQTT协议连接服务器&#xff08;一&#xff09; 1 前言 上一篇教程简单讲述了怎么在虚拟…

【调试】ftrace(三)trace-cmd和kernelshark

之前使用ftrace的时候需要一系列的配置&#xff0c;使用起来有点繁琐&#xff0c;这里推荐一个ftrace的一个前端工具&#xff0c;它就是trace-cmd trace-cmd安装教程 安装trace-cmd及其依赖库 git clone https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/ c…

【Ruby学习笔记】19.Ruby 连接 Mysql - MySql2

Ruby 连接 Mysql - MySql2 前面一章节我们介绍了 Ruby DBI 的使用。这章节我们技术 Ruby 连接 Mysql 更高效的驱动 mysql2&#xff0c;目前也推荐使用这种方式连接 MySql。 安装 mysql2 驱动&#xff1a; gem install mysql2你需要使用 –with-mysql-config 配置 mysql_conf…

【DevOps】GitOps 初识(下) - 让DevOps变得更好

实践GitOps的五大难题 上一篇文章中&#xff0c;我们介绍了GitOps能为我们带来许多的好处&#xff0c;然而&#xff0c;任何新的探索都将不会是一帆风顺的。在开始之前&#xff0c;如果能了解实践GitOps通常会遇到的挑战&#xff0c;并对此作出合适的应对&#xff0c;可能会使…

数据结构和算法(一):复杂度、数组、链表、栈、队列

从广义上来讲&#xff1a;数据结构就是一组数据的存储结构 &#xff0c; 算法就是操作数据的方法 数据结构是为算法服务的&#xff0c;算法是要作用在特定的数据结构上的。 10个最常用的数据结构&#xff1a;数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树 10…

StorageManagerService.java中的mVold.mount

android源码&#xff1a;android-11.0.0_r21&#xff08;网址&#xff1a;Search (aospxref.com)&#xff09; 一、问题 2243行mVold.mount执行的是哪个mount函数&#xff1f; 2239 private void mount(VolumeInfo vol) { 2240 try { 2241 // TOD…

【LeetCode】-- 108. 将有序数组转换为二叉搜索树

1. 题目 108. 将有序数组转换为二叉搜索树 - 力扣&#xff08;LeetCode&#xff09; 给你一个整数数组 nums &#xff0c;其中元素已经按升序排列&#xff0c;请你将其转换为一棵高度平衡二叉搜索树。高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 …

mysql在CentOS7.x环境安装

查看当前环境的yum源 ls -l /etc/yum.repos.d/ 可以看到当前环境是没有下载mysql对应的yum源的, 所以需要去官网下载对应的yum源. 找mysql的yum源并安装 http://repo.mysql.com/ 在选择对应yum源之前, 需要看一下自己系统的版本: 进入官网后, 鼠标右击进入查看页面源代码, 因为…

Leetcode.463 岛屿的周长

题目链接 Leetcode.463 岛屿的周长 easy 题目描述 给定一个 row x col的二维网格地图 grid&#xff0c;其中&#xff1a;grid[i][j] 1表示陆地&#xff0c; grid[i][j] 0表示水域。 网格中的格子 水平和垂直 方向相连&#xff08;对角线方向不相连&#xff09;。整个网格被…

如何从功能测试转型到自动化测试:我三年的学习经历

前言 在软件测试的领域里&#xff0c;自动化测试已经成为了不可或缺的一部分。 与传统的手工测试相比&#xff0c;自动化测试具有更高的效率和精确度&#xff0c;能够有效地减少测试时间和成本&#xff0c;同时提高测试质量。作为一个从事软件测试的人员&#xff0c;如果你想…

Oracle JDK 和 OpenJDK 有什么区别?

可能在看这个问题之前很多人和我一样并没有接触和使用过 OpenJDK 。那么 Oracle JDK 和 OpenJDK 之间是否存在重大差异&#xff1f;下面我通过收集到的一些资料&#xff0c;为你解答这个被很多人忽视的问题。 首先&#xff0c;2006 年 SUN 公司将 Java 开源&#xff0c;也就有…

智慧方政务云顶层设计与建设方案(ppt)

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除 对一网统管总体架构的理解物联网生态中的业务定位物联网产品与解决方案概览智联物联网管理平台总体方案智联物联网管理平台总体架构智联联连接平台(HLINK)应用架构智慧社区基于…

Linux--进程信号

前言 无人问津也好&#xff0c;技不如人也罢&#xff0c;你都要试着安静下来&#xff0c;去做自己该做的事情&#xff0c;而不是让烦恼和焦虑毁掉你不就不多的热情和定力。心可以碎&#xff0c;手不能停&#xff0c;该干什么干什么&#xff0c;在崩溃中继续努力前行&#xff0c…

export、export default 和import

&#x1f468; 作者简介&#xff1a;大家好&#xff0c;我是Taro&#xff0c;前端领域创作者 ✒️ 个人主页&#xff1a;唐璜Taro &#x1f680; 支持我&#xff1a;点赞&#x1f44d;&#x1f4dd; 评论 ⭐️收藏 文章目录前言一、export default 和 import &#xff1f;1. e…