- 从入门到精通
教练我想学算法编程!信息学奥赛课程大纲
- 2024-10-17 20:34:56 @
一、培养对象
从中学阶段开始培养一批对计算机、编程、算法感兴趣、肯钻研的学生,并有志于参加信息学奥赛。
二、课程内容
全国青少年信息学奥林匹克竞赛(NOI)是面向全国中学生参加的五大学科竞赛之一,该课程直接面向意愿报名参赛的选手学员,是一门时间跨度长、知识容量大、效果收益高的培养课程方案。
(1)Level-1 语法基础课:系统讲解竞赛中常用的 C++ 语法知识与实用技巧。
(2)Level-2 算法基础课:系统讲解基础算法与数据结构的 原理,并给出相应 代码模板。
(3)Level-3 算法提高课:系统讲解常用算法与数据结构的 应用方式与技巧。
(4)Level-4 算法进阶课:系统讲解 高阶算法和数据结构 的原理、代码模板以及应用方式。
遵循“由易到难、逐步进阶”的理念,力争将抽象复杂的算法进行思维拆解、动态演示,让更多中学生体验“算法之美”。信息学教练全程陪伴,帮你解决写代码、思算法、辨未来过程中的疑惑问题,欢迎热衷于计算机、编程、算法的同学们积极报名参加!
三、教学目的
通过长期的教学训练,使学员有能力参加全国青少年信息学奥林匹克竞赛系列活动:CSP-J/S 非专业级软件能力认证、NOIP 全国青少年信息学奥林匹克联赛、省队选拔、NOI 全国青少年信息学奥林匹克、IOI 国际信息学奥林匹克等。
四、学时数及具体分配
Level-1 语法基础课:算法竞赛中常用的 C++ 语法和实用技巧
(每节课 2 h,共 10 节,共 20 h)
C++ 语法 1:选拔考试题解与 C++ 编程入门
C++ 语法 2:计算机基础与图灵、冯·诺依曼
C++ 语法 3:顺序结构、分支结构、循环结构
C++ 语法 4:数组、字符串、函数
C++ 语法 5:类、结构体、指针、引用、文件
C++ 语法 6:STL、位运算、常用库库函数
Level 2 算法基础课:算法竞赛中常见算法与数据结构的原理、代码模板
(每节课 3 h,共 20 节,共 60 h)
基础算法 1:模拟、枚举、贪心
基础算法 2:排序、递归、二分
基础算法 3:高精度、前缀和与差分
基础算法 4:双指针算法、位运算、离散化、区间合并
数据结构 1:链表与邻接表、栈与队列、KMP
数据结构 2:Trie 树、并查集、堆
数据结构 3:Hash 表、STL 使用技巧
搜索与图论 1:DFS、BFS、树与图的存储与遍历、拓扑排序
搜索与图论 2:最短路问题(Dijkstra、Bellman-Ford、SPFA、Floyd)
搜索与图论 3:最小生成树、二分图(Prim、Kruskal、染色法、匈牙利算法)
动态规划 1:背包问题(01 背包、完全背包、多重背包、分组背包、混合背包)
动态规划 2:线性 DP、区间 DP
动态规划 3:计数类 DP、数位统计 DP、状态压缩 DP
动态规划 4:树形 DP、记忆化搜索
时空复杂度分析
数学知识:质数,约数,欧拉函数,快速幂,扩展欧几里得算法
中国剩余定理,高斯消元,求组合数,容斥原理,博弈论
五、参考资料
竞赛书籍:信息学奥林匹克辞典,算法竞赛入门经典、算法竞赛进阶指南
知识网站 :OI Wiki(https://oi-wiki.org)
校外 OJ:洛谷(https://www.luogu.com.cn)
六、竞赛对于学生品质的培养
自我认知 —— 知人者智,自知者明
清晰规划 —— 智慧地选择坚持与放弃
坚持不懈 —— 在绝望中寻找希望,攀过一座座高峰
辩证理解 —— 敢于直面光鲜与苦难
看淡眼前的利益 —— 为了远大的目标而非功利的目标
立志高远 —— 道虽远,行则将至
专时专用 —— 学习时专心致志,休息时心无杂念