1. 比赛流程、环境
- 赛程
- 春季:省赛、决赛
- 省赛一等奖参加决赛
- 比赛时长4小时
- 竞赛形式
- 个人赛,一人一机,全程机考
- 答题过程中无法访问互联网
- 不允许携带任何电子、纸质资料
- C++组选手机器环境
- Dev-cpp 5.4.0 C/C++ API帮助文档
- 代码补全
- Ctrl+Space
2. 常考和必考知识点
- 杂题,不需要算法和数据结构,只需要逻辑、推理的题目,难度可难可易。考察思维能力和编码能力,只能通过大量做题来提高
- BFS搜索和DFS搜索,也就是暴力搜索,这时非常基本的算法,是基础中的基础
- 动态规划,线性DP,以及一些DP应用,例如状态压缩DP、树形DP等
- 简单数学和简单数论
- 简单的字符串处理、输入输出,简单图论
- 基本算法,例如排序、排列、二分、倍增、差分、贪心
- 基本数据结构,队列、栈、链表、二叉树
3.API帮助文档
学会使用API,就可以少记很多函数和工具
无论是在算法学习还是以后的行业工作,看懂API是一个必备的能力
时间复杂度
时间复杂度
给你n个数据
如果只有一个1-n的循环,就是线性阶O(n)
n个数据的二分查找,每次取一半,O(log2n)
如果外层是n循环,内层是二分的,就是O(nlog2n)
如果外层循环是1-n的,内层也是1-n的,就是平方阶O(n2)
常见的时间复杂度量级如下:
常数阶 O ( 1 ) < 对数阶 O ( log 2 n ) < 线性阶 O ( n ) < 线性对数阶 O ( n log 2 n ) < 平方阶 O ( n 2 ) < 立方阶 O ( n 3 ) < k 次方阶 O ( n k ) < 指数阶 O ( 2 n ) < 阶乘阶 O ( n ! ) < O ( n n ) \begin{array}{} 常数阶O(1)<对数阶O(\log2n)<线性阶O(n)<线性对数阶O(n\log2n) \\ <平方阶O(n^2)<立方阶O(n^3)<k次方阶O(n^k)<指数阶O(2^n) \\ <阶乘阶O(n!)<O(n^n) \end{array} 常数阶O(1)<对数阶O(log2n)<线性阶O(n)<线性对数阶O(nlo

本文介绍了编程比赛的流程、环境设置,重点讲解了C++编程中的常考知识点,如逻辑推理、搜索算法、动态规划等,同时强调了理解API和时间复杂度分析在解决问题中的重要性,以及如何通过编程解决排列字母、纸张尺寸和平方和等问题,最后涉及成绩统计的示例。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



