首页 > 代码库 > 山东理工大学的训练计划

山东理工大学的训练计划

SDUT集训计划

 

假设已有C/C++/JAVA中任何一门程序设计语言基础,熟练掌握基本语法。

Step1: 入门hdu——water~,刷完

Step2: 数据结构——课本算法代码熟敲。

数据结构需要掌握的内容(数据结构C语言版 严蔚敏|吴伟民):

第1章 绪论

算法和算法分析(时间复杂度分析和空间复杂度分析)

第2章 线性表

2.1线性表的类型定义

2.2线性表的顺序表示和实现

2.3线性表的链式表示和实现(注意掌握循环链表和双向链表)

第3章 栈和队列

3.1栈的定义、表示和实现

3.2栈的应用举例

3.4队列的定义、表示和实现(注意掌握循环队列,以及循环队列的数组实现)

第4章 串

掌握串在C语言中的表示方法、常用字符串函数

掌握简单的模式匹配算法

第6章 树和二叉树

6.1树的定义和基本术语

6.2二叉树

6.2.1二叉树的定义

6.2.2二叉树的性质(重点掌握)

6.2.3二叉树的存储结构

6.3 掌握二叉树的遍历(先序、中序、后序)

6.4树和森林

树的存储结构

森林与二叉树的转换(左孩子右兄弟法)

树和森林的遍历

6.6赫夫曼树及其应用

6.6.1最优二叉树(赫夫曼树)

6.6.2赫夫曼编码

第7章 图

7.1图的定义和术语

7.2图的存储结构

7.2.1数组表示法

7.2.2邻接表

7.3图的遍历

7.3.1深度优先搜索

7.3.2广度优先搜索

7.4图的连通性问题

7.4.1无向图的连通分量和生成树

7.4.3最小生成树算法(prim && kruskal)

7.5有向无环图及其应用

7.5.1拓扑排序

7.6最短路径

7.6.1单源最短路径问题(dijkstra算法)

7.6.2每一对顶点之间的最短路径(floyd算法)

第9章 查找

9.1 掌握有序表的二分查找算法

9.3掌握哈希表的思想及简单的hash算法(如取模法hash)

第10章 内部排序

10.1概述

10.2插入排序(掌握直接插入排序)

10.3快速排序(重点掌握)

10.4选择排序

10.4.1简单选择排序

10.4.2树形选择排序

10.4.3堆排序

10.5归并排序(重点掌握)

10.7各种排序方法的比较

 

集训第一天——POJ纯水题 = =:

Like the following~~~

2017 1218 2000 1046 1218 1003 1004 1005 1008 1013(枚举) 1207 1552 2105 2388 1316 2499 3006a)(筛法求素数)

 

正式集训计划:

第一阶段 初级:第1-4周

项目

时间

必做题目

基本算法

枚举

1

poj1753,hdu 2209  poj2965

贪心

poj1328,poj2109(a),poj2586(a

分治法

poj2524

递推

poj2506

构造法

poj3295

模拟法

poj1068,poj2632,poj1573,poj2993,poj2996

图算法

图的深度优先遍历和广度优先遍历

1

poj3278, poj2049, poj3083

最短路径算法

poj1860,poj3259,poj1062,poj2253,poj1125,poj2240

最小生成树算法

poj1789,poj2485,poj1258,poj3026

拓扑排序

poj1094, poj3267poj3687

二分图的最大匹配

poj3041,poj3020

最大流的增广路算法

poj1459,poj3436

数据结构

第2周

poj1035,poj3080,poj1936

排序

poj2388,poj2299

简单并查集的应用

poj1611

哈希表和二分查找等高效查找法

poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503

哈夫曼树

poj3253

堆,优先队列

poj2442, poj1442

trie树

poj2513, poj2418

简单搜索

深度优先搜索

2

poj2488,poj3083,poj3009,poj1321,poj2251

广度优先搜索

poj3278,poj1426,poj3126,poj3087.poj3414

简单搜索技巧和剪枝

poj2531,poj1416,poj2676,poj1129

动态规划

背包问题

第3周

poj1837,poj1276

型如下表的简单DP

poj3267,poj1836,poj1260,poj2533,poj3176,poj1080,poj1159

数学

组合数学

第3周

POJ3252,poj1850,poj1019,poj1942

数论

poj2635, poj3292,poj1845,poj2115

计算方法

poj3273,poj3258,poj1905,poj3122

计算几何学

几何公式

第4周

poj1265(pick定理)

叉积和点积的运用

poj2031,poj1039

多边型的简单算法和相关判定

poj1408,poj1584

凸包

poj2187,poj1113

第二阶段 中级:第4周-9周

项目

时间

必做题目

基本算法

C++的标准模版库的应用

第4周

poj3096,poj3007

较为复杂的模拟题的训练

poj3393,poj1472,poj3371,poj1027,poj2706

图算法

差分约束系统的建立和求解

第5周

poj1201,poj2983, poj3159

poj1275, poj1364

最小费用最大流

poj2516, poj2195, poj3422

双连通分量

poj2942,poj3694

强连通分支及其缩点

poj2186, poj3592, poj3114

图的割边和割点

poj3352

最小割模型

poj3308, poj3155(偏难)

 

KM算法(最大权/最小权)

 

poj2195, poj2400, poj3686

数据结构

线段树

第6周

poj2528,poj2828,poj2777,poj2886,poj2750

静态二叉检索树,平衡树treap,splay

poj2482,poj2352, poj2892

poj3468,

树状树组

poj1195,poj3321

RMQ

poj3264,poj3368

并查集的高级应用

poj1703,2492

KMP算法

poj1961,poj2406

搜索

最优化剪枝和可行性剪枝

第7周

poj1699

搜索的技巧和优化

poj3411,poj1724

记忆化搜索

poj3373,poj1691

动态规划

较为复杂的动态规划

第7周

poj1191,poj1054,poj3280,poj2029,poj2948,poj1925,poj3034

记录状态的动态规划

poj3254,poj2411,poj1185

树型动态规划

poj2057,poj1947,poj2486,poj3140

数学

组合数学,polya定理,置换群

第8周

poj1286,poj2409,poj3270,poj1026

高斯消元法

poj2947,poj1487, poj2065,poj1166,poj1222

概率问题

poj3071,poj3440

GCD、扩展的欧几里德

poj1061, poj2891,poj3101

poj2115

计算方法(矩阵、三分等)

poj2976,poj3150,poj3422,poj3070, poj3301

随机化算法

poj3318,poj2454

杂题

poj1870,poj3296,poj3286,poj1095

计算几何学

坐标离散化

第9周

 poj1151

扫描线算法

poj1765,poj1177,poj1151,poj3277,poj2280,poj3004

多边形的核

poj3130,poj3335

几何工具的综合应用

poj1819,poj1066,poj2043,poj3227,poj2165,poj3429

第三阶段 高级:第10周-18周

项目

时间

必做题目

基本算法

代码快速写成

第10周

poj2525,poj1684,poj1421,poj1048,poj2050,poj3306

保证正确性和高效性

poj3434

图算法

度限制最小生成树和第K最短路,分数规划

第10-11周

poj1639, poj3621, poj2976

poj3255poj2513,poj2449

最短路,最小生成树,二分图,最大流问题的相关理论

poj3155,poj2112,poj1966,poj3281,poj1087,poj2289,poj3216,poj2446

最优比率生成树

poj2728(0/1分数规划应用)

最小树形图

poj3164(-刘算法)

次小生成树

poj1679(存在O(n^2)DP解法)

2-SAT问题

poj3207, poj3678, poj3683

poj3648, poj2723, poj2749

无向图、有向图的最小环

poj1734(floyd扩展)

数据结构

trie图的建立和应用,DFA

第12周

hdu2222 poj2778, poj3691

LCARMQ问题

poj1330

双端队列和它的应用

poj2823

左偏树

poj3666poj3016

后缀树,后缀数组

poj3415,poj3294, poj2774

poj2758

搜索

较麻烦的搜索题目训练

第13周

poj1069,poj3322,poj1475,poj1924,poj2049,poj3426

广搜的状态优化

poj1768,poj1184,poj1872,poj1324,poj2046,poj1482

深搜的优化

poj3131,poj2870,poj2286

动态规划

需要用数据结构优化的动态规划

第14-15周

poj2754,poj3378,poj3017

四边形不等式理论、斜率优化

poj1160poj1180poj3709

较难的状态DP、插头DP

poj3133,poj1739,poj2411poj1763

数学

组合数学

第15周

poj2888,poj2154

博奕论

poj3317,poj1085

计算几何学

半平面求交

第16周

poj3384,poj2540

可视图的建立

poj2966

点集最小圆覆盖

zju1450

对踵点

poj2079

综合题

 

第16-18周

poj3109,poj1478,poj1462,poj2729,poj2048,poj3336,poj3315,poj2148,poj1263