2026上半学期 DMU-XCPC 集训队 日程表 与 教学大纲

日程表

时间 社团活动 赛程
第6周 第0次培训:语言基础 + 基础数学
第7周 招新测试 ICPC西安+CCPC长春
第8周 第1次培训:算竞基本常识 + 前缀和与差分 ICPC成都
第9周 第2次培训:STL进阶 + 搜索基础 ICPC武汉
第10周 第3次培训:二分查找 + 贪心 ICPC南京+CCPC荆州
第11周 第4次培训:树 + 并查集 ICPC沈阳+CCPC乐山
第12周 第5次培训:图论 CCPC厦门
第13周 第6次培训:动态规划
第14周 ​第7次培训:数论 ICPC上海
第15周 校赛
第16周 ICPC南昌
第17周
第18周
第19周 ICPC香港
第20周

教学大纲

第0次培训:语言基础 + 基础数学

  • ​语言基础:万能头,main函数,变量,输入输出,顺序/分支/循环结构。简单STL (vector, string),基础操作 (max, min, swap, sort, reverse)。函数,返回值,函数声明和调用。

  • 基础数学: 质数,\(gcd\),\(lcm\),组合数(杨辉三角递推法)。

  • HydroOJ 使用方法

​第1次培训:算竞基本常识 + 前缀和与差分

  • 算竞常识:编辑器,学习网站/资源,赛制,学习方法,AI辅助学习,学术诚信,复杂度预估,编译器,码风,多测,卡常,关流, #define endl '\n',特殊题型(构造、交互、通信)

  • 基础算法:前缀和,二维前缀和,差分。​

​第2次培训:STL进阶 + 搜索基础

  • STL进阶: 迭代器,sort自定义 cmp,重载运算符(结合 pair 和结构体)。unique, map,set, unordered_map, unordered_set, deque。

  • 递归与暴搜: 递归基本结构,防晕递归(画递归树)。网格图/状态空间搜索(如全排列、迷宫问题),深度优先搜索(DFS),广度优先搜索(BFS,顺带引入 queue)。

​(备注:新生还不会存图,先用简单的二维网格或纯状态转移来练习 ,不讲图上dfs/bfs)

​第3次培训:二分查找 + 贪心

  • 二分查找: 二分查找,lower_bound 与 upper_bound,小数二分,二分答案。

  • 贪心: 贪心思维。priority_queue(大根堆/小根堆),基于堆的贪心,反悔贪心。

​第4次培训:树 + 并查集

  • 树基础: 树的基本概念(有根树,无根树,二叉树),树的自递归结构。

  • 树的初步代码实现: 简单邻接表(用 vector<int> adj(n) 存树),树上 DFS(求深度、子树大小)。

  • 并查集: 合并,查询,路径压缩,启发式合并。

第5次培训:图论

  • 图基础: 有向图,无向图,建图,存图(边集数组,邻接表,邻接矩阵)。图上 DFS 和 BFS。

  • 最小生成树: Kruskal 算法

  • 最短路与拓扑: Dijkstra(结合第3周学过的 priority_queue 实现堆优化),Floyd,拓扑排序。

​第6次培训:动态规划

  • DP基础: 状态定义,状态转移,记忆化搜索。

  • 背包模型: 有限背包(01背包),无限背包(完全背包)。(分组背包等拓展留作自学)

  • ​线性DP: 简单线性DP(如最长上升子序列 LIS,最长公共子序列 LCS 等基础模型)。

​第7次培训:数论

  • 模运算: 负数取模,快速幂,模逆元。

  • 进阶数学: 基于逆元的组合数计算(\(O(n)\) 预处理阶乘),辗转相除法原理。

  • 质数筛法: 素数筛,埃氏筛,线性筛(欧拉筛),分解质因数。

​(同余方程、中国剩余定理留作拓展内容)

posted @ 2026-09-28 21:47  Cd5  阅读(8)  评论(0)    收藏  举报