1. 注意事项
👨🏫 官方通知
👨🏫 资料文档
👨🏫 Acwing 蓝桥杯真题在线 免费自测
一般是两周左右出成绩,具体等官方通知
- 时间:
4月13日 9:00~13:00
(时长 4小时) - 物品
- 准考证(赛前一周开放下载,自行打印)
- 学生证
- 身份证
- 笔、水、纸巾、外套?(草稿纸一般由考场发放且不可带走)
- OI赛制
- 每道题提交之后都没有任何反馈
- 每道题都有多个测试点,根据每道题通过的测试点的数量获得相应的分数(部分分技巧)
- 每道题不限制提交次数,如果提交错误没有任何惩罚,仅以最后一次提交为准
- 比赛过程中看不到实时排名,赛后按照总得分来排名
- 编译环境
- C/C++(支持 C++11 标准)(支持万能头,切记 return 0)
- Dev-cpp 5.11
- C/C++ API 帮助文档
- Java(不要使用 package 语句,主类名必须为 Main)
- JDK 1.8
- Eclipse-java-2020-06
- API 帮助文档
- C/C++(支持 C++11 标准)(支持万能头,切记 return 0)
2. 经验之谈
💖 测试机器环境
- 键盘
- 鼠标
- 编译环境
-
win + r
打开运行窗口,输入cmd
打开命令行窗口 -
检测 JDK 版本:输入
java -version
-
检测 gcc 版本:输入
gcc -v
-
检查C++版本:见下
-
💖 Dev-c++
- 查看C++版本
#include <iostream>
using namespace std;
int main()
{
cout << __cplusplus << endl; // 比如我的 C++ 版本是 199711,对比下面的参数是 C++98
}
- 映射关系如下
C++ pre-C++98: __cplusplus is 1.
C++98: __cplusplus is 199711L.
C++98 + TR1: This reads as C++98 and there is no way to check that I know of.
C++11: __cplusplus is 201103L.
C++14: __cplusplus is 201402L.
C++17: __cplusplus is 201703L.
C++20: __cplusplus is 202002L.
-
配置dev-c++ 配置编译标准为 c++11
-std=c++11
-
dev-c++ 开启调试(注意:每一次修改代码后调试都需要重新编译代码)
💖 Eclipse
- eclipse 代码提示配置
.qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM
💖 答题经验
-
考前10分钟提前做(写好重复代码):
- 每题一个文件,写好头文件、主函数、输入输出
- 快读快写:数据量到
1
0
5
10^5
105级别及以上时
-
C++:尽量使用 scanf 和 printf,或者 关闭同步流使用 cin、cout
std::ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
-
Java: 使用快读快写,例如 BufferedReader、BufferedWriter
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System,out));
-
-
试题发放
- 加密压缩包,考试开始后监考老师会公布 解压密码
- 解压即可看到题目的PDF
-
答案提交
-
-
填空题(分值低,选做):只填答案,不填代码(例:算出的答案是
5
那就是提交一个5
) -
考试结束前,可以无限次提交 ,无正确或错误反馈
-
Cpp:本地测试通过直接全文拷贝到指定的网站 保存提交即可
-
Java:除了 package 语句外,全文提交,注意一定要是 Main,记得保存提交
-
有空且保险起见的话,可以把 提交到网站的代码 拷贝回 编译器再测试一次
-
每一题的答案框都是有 保存/提交 按钮的,考试结束后会自动收卷
-
不能接外设,所以代码一般也不能用U盘拷贝走?
-
-
工具使用
- 理论上所有本地的工具都可以用(不能连接互联网)
- 计算器
- Excel 👨🏫 【蓝桥杯小技巧】暴力+ Excel的使用(持续更新)
- 其他语言可以用来跑填空题的结果
-
长整型、双精度浮点数
-
大数组、容器可以定义为全局变量
- 静态存储区空间较大(Java是堆空间)
- 全局变量会自动初始化为默认值
- 开局部变量记得初始化
-
数据范围:👨🏫 数据范围反推算法
-
测试样例
- 题目一般只给一组测试样例(输出样例不知道有没有分😂)
- 最好自己设计几组极端的边界值测试一下(人工设置 或 代码生成)
对拍器/对数器:写个正确率高的暴力计算某几个样例的正确答案 验证 优化后的算法是否能跑出同样的结果)
💖 调试技巧
-
if 判断 调试
-
条件断点调试(dev c++ 的我没发掘出来)
-
部分分技巧
- 👨🏫 骗分导论
- 👨🏫 新版骗分导论(没写完,待补充)
- 暴力枚举
- 找规律(无需证明,全靠瞎掰)
- 输出 -1?
-
刷真题
3. 代码模板
👨🏫 多语言代码模板集合
👨🏫 JAVA 基础算法 + 数据结构
👨🏫 JAVA 搜索+图论+数论
👨🏫 JAVA 动态规划+贪心
- 日期
- 前缀和
- 二分查找
- 双指针
- 最大公约数
- 最小公倍数
- 质数
- 分解质因数
- 快速幂
- 组合数
- 贪心
- dijkstra