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)\) 预处理阶乘),辗转相除法原理。
-
质数筛法: 素数筛,埃氏筛,线性筛(欧拉筛),分解质因数。
(同余方程、中国剩余定理留作拓展内容)

浙公网安备 33010602011771号