zoukankan      html  css  js  c++  java
  • 学习计划

    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

     

  • 相关阅读:
    HDU 1009 FatMouse' Trade(简单贪心 物品可分割的背包问题)
    HDU 1006 Tick and Tick(时钟,分钟,秒钟角度问题)
    hdu 2099 整除的尾数
    hdu 2098 分拆素数和(一个偶数拆分成两个不同素数和 拆法数量)
    旅游电车(cogs 1175)
    校长的收藏(洛谷 U4534)
    HXY烧情侣(洛谷 2194)
    矩形面积求并(codevs 3044)
    楼房(洛谷 1382)
    选择数字(codevs 3327)
  • 原文地址:https://www.cnblogs.com/yspworld/p/3889303.html
Copyright © 2011-2022 走看看