学习计划

ACM集训计划

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

Step1: 入门hdu——water~,刷完http://acm.hdu.edu.cn/problemclass.php?id=74

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各种排序方法的比较

数据结构对应SDUTOJ题目 http://acm.sdut.edu.cn  Online Judge

数据结构实验

必做题目

线性表

顺序表

(01)1130

线性链表

(02)1138 (03)1139 (04)2116 (05)2117  (06)2118 (07)2119 (08)2120 (09)2121  (10)2122 (11) 2053

循环链表

(12)1197 (13)2056

双向链表

(14)2504

多项式的表示及相加

(15)1482

栈和队列

进制转换

(16)1252 (17)2131

括号匹配

(18)2134

行编辑程序

(19)1479

迷宫求解

(20)2449

表达式求值

(21)2132(22)2133(23)2484

双向队列

(24)1466

银行管理

(25)2087

停车场问题

(26)2088

排队买饭

(27)2135

字符串

字符串比较

(28)1333

字符串排序

(29)1334

字符串连接

(30)2124

字符串匹配

(31)2125

KMP算法

(32)2463

字符串哈希

(33)1500

树和二叉树

二叉树历遍

(34)2137

树的计数

(35)2136

赫夫曼树

(36)2127

二叉排序树

(37)2128 (38)2482

统计生成树个数

(39)2129

邻接矩阵表示法

(40)2141

邻接表

(41)2142

深度优先搜索

(42)2107

广度优先搜索

(43)1028

无向图的连通分量个数

(44)1488

有向图的强连通分量

(45)2506

最小生成树

(46)2144

拓扑排序

(47)2140

关键路径

(48)2498

最短路径

(49)2413

查找

顺序查找

(50)2040

二分查找

(51)2039

哈希表

(52)2123

内部排序

冒泡排序

(53)1196

选择排序

(54)1582

快速排序

(55)2019

归并排序

(56)2019

堆排序

(57)2019

插入排序

(58)1582

基数排序

(59)1591

 

Step3: 正式集训

集训第一天——POJ纯水题 Like the following~~~

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

正式集训计划:

第一阶段初级:第1-4

项目

时间

必做题目

基本算法

枚举

第1周

(001)poj1753 (002)poj2965

贪心

(003)poj1328 (004)poj2109 (005)poj2586

分治法

(006)poj2524

递推

(007)poj2506

构造法

(008)poj3295

模拟法

(009)poj1068 (010)poj2632  (011)poj1573 (012)poj2993  (013)poj2996

图算法

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

第1周

(014)poj3278 (015)poj2049  (016)poj3083

最短路径算法

(017)poj1860 (018)poj3259 (019)poj1062 (020)poj2253 (023)poj1125 (024)poj2240

最小生成树算法

(025)poj1789 (026)poj2485 (027)poj1258 (028)poj3026

拓扑排序

(029)poj1094 (030)poj3267 (031)poj3687

二分图的最大匹配

(032)poj3041 (033)poj3020

最大流的增广路算法

(034)poj1459 (035)poj3436

数据结构

第2周

(036)poj1035 (037)poj3080 (038)poj1936

排序

(039)poj2388 (040)poj2299

简单并查集的应用

(041)poj1611

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

(042)poj3349 (043)poj3274 (044)poj2151 (045)poj1840 (046)poj2002 (047)poj2503

哈夫曼树

(048)poj3253

堆,优先队列

(049)poj2442 (050)poj1442

trie树

(051)poj2513 (052)poj2418

简单搜索

深度优先搜索

第2周

(053)poj2488 (054)poj3083 (055)poj3009 (056)poj1321 (057)poj2251

广度优先搜索

(058)poj3278 (059)poj1426 (060)poj3126 (061)poj3087 (062)poj3414

简单搜索技巧和剪枝

(063)poj2531 (064)poj1416 (065)poj2676 (066)poj1129

动态规划

背包问题

第3周

(067)poj1837 (068)poj1276

型如下表的简单DP

(069)poj3267 (070)poj1836 (071)poj1260 (072)poj2533 (073)poj3176 (074)poj1080

(075)poj1159

数学

组合数学

第3周

(076)poj3252 (077)poj1850 (078)poj1019 (079)poj1942

数论

(080)poj2635 (081)poj3292 (082)poj1845 (083)poj2115

计算方法

(084)poj3273 (085)poj3258 (086)poj1905 (087)poj3122

计算几何学

几何公式

第4周

(088)poj1265(pick定理)

叉积和点积的运用

(089)poj2031 (090)poj1039

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

(091)poj1408 (092)poj1584

凸包

(093)poj2187 (094)poj1113

第二阶段中级:第4-9

项目

时间

必做题目

基本算法

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

第4周

(095)poj3096 (096)poj3007

较为复杂的模拟题的训练

(097)poj3393 (098)poj1472 (099)poj3371 (100)poj1027 (101)poj2706

图算法

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

第5周

(102)poj1201 (103)poj2983 (104)poj3159 (105)poj1275 (106)poj1364

最小费用最大流

(107)poj2516 (108)poj2195 (109)poj3422

双连通分量

(110)poj2942 (111)poj3694

强连通分支及其缩点

(112)poj2186 (113)poj3592 (114)poj3114

图的割边和割点

(115)poj3352

最小割模型

(116)poj3308 (117)poj3155

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

(118)poj2195 (119)poj2400 (120)poj3686

数据结构

线段树

第6周

(121)poj2528 (122)poj2828 (123)poj2777 (124)poj2886 (125)poj2750

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

(126)poj2482 (127)poj2352 (128)poj2892 (129)poj3468

树状树组

(130)poj1195 (131)poj3321

RMQ

(132)poj3264 (133)poj3368

并查集的高级应用

(134)poj1703 (135)poj2492

KMP算法

(136)poj1961 (137)poj2406

搜索

最优化剪枝和可行性剪枝

第7周

(138)poj1699

搜索的技巧和优化

(139)poj3411 (140)poj1724

记忆化搜索

(141)poj3373 (142)poj1691

动态规划

较为复杂的动态规划

第7周

(143)poj1191 (144)poj1054 (145)poj3280 (146)poj2029 (147)poj2948 (148)poj1925 (149)poj3034

记录状态的动态规划

(150)poj3254 (151)poj2411 (152)poj1185

树型动态规划

(153)poj2057 (154)poj1947 (155)poj2486 (156)poj3140

数学

组合数学,polya定理

置换群

第8周

(157)poj1286 (158)poj2409 (159)poj3270 (160)poj1026

高斯消元法

(161)poj2947 (162)poj1487 (163)poj2065 (164)poj1166 (165)poj1222

概率问题

(166)poj3071 (167)poj3440

GCD、扩展的欧几里德

(168)poj1061 (169)poj2891 (170)poj3101 (171)poj2115

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

(172)poj2976 (173)poj3150 (174)poj3422 (175)poj3070 (176)poj3301

随机化算法

(177)poj3318 (178)poj2454

杂题

(179)poj1870 (180)poj3296 (181)poj3286 (182)poj1095

计算几何学

坐标离散化

第9周

(183)poj1151

扫描线算法

(184)poj1765 (185)poj1177 (186)poj1151 (187)poj3277 (188)poj2280 (189)poj3004

多边形的核

(190)poj3130 (191)poj3335

几何工具的综合应用

(192)poj1819 (193)poj1066 (194)poj2043 (195)poj3227 (196)poj2165 (197)poj3429

第三阶段高级:第10-18

项目

时间

必做题目

基本算法

代码快速写成

第10周

(198)poj2525 (199)poj1684 (200)poj1421 (201)poj1048 (202)poj2050 (203)poj3306

保证正确性和高效性

(204)poj3434

图算法

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

 

 

 

第10-11周

(205)poj1639 (206)poj3621 (207)poj2976 (208)poj3255 (209)poj2513 (210)poj2449

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

(211)poj3155 (212)poj2112 (213)poj1966 (214)poj3281 (215)poj1087 (216)poj2289 (217)poj3216 (218)poj2446

最优比率生成树

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

最小树形图

(220)poj3164(朱-刘算法)

次小生成树

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

2-SAT问题

(222)poj3207 (223)poj3678 (224)poj3683 (225)poj3648 (226)poj2723 (227)poj2749

无向图、有向图的最小环

(228)poj1734(floyd扩展)

数据结构

trie图的建立和应用,DFA

第12周

(229)hdu2222 (230)poj2778

(231)poj3691

LCA和RMQ问题

(234)poj1330

双端队列和它的应用

(235)poj2823

左偏树

(236)poj3666 (237)poj3016

后缀树,后缀数组

(238)poj3415 (239)poj3294 (240)poj2774 (241)poj2758

搜索

较麻烦的搜索题目训练

第13周

(242)poj1069 (243)poj3322 (244)poj1475 (245)poj1924 (246)poj2049 (247)poj3426

广搜的状态优化

(248)poj1768 (249)poj1184 (250)poj1872 (251)poj1324 (252)poj2046 (253)poj1482

深搜的优化

(254)poj3131 (255)poj2870 (256)poj2286

动态规划

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

第14-15周

(257)poj2754 (258)poj3378 (259)poj3017

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

(260)poj1160 (261)poj1180 (262)poj3709

较难的状态DP、插头DP

(263)poj3133 (264)poj1739 (265)poj2411 (266)poj1763

数学

组合数学

第15周

(267)poj2888 (268)poj2154

博奕论

(269)poj3317 (270)poj1085

计算几何

半平面求交

第16周

(271)poj3384 (272)poj2540

可视图的建立

(273)poj2966

点集最小圆覆盖

(274)zju1450

对踵点

(275)poj2079

综合题

 

第16-18周

(276)poj3109 (277)poj1478 (278)poj1462 (279)poj2729 (280)poj2048 (281)poj3336 (282)poj3315 (283)poj2148 (284)poj1263

 

转载于:https://www.cnblogs.com/yspworld/p/3889303.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值