目 录
本书知识点分类及说明 1
第1章 2007年中山大学内部选拔赛第一试试题分析 4
1.1 计算生成树(难度:★★☆☆☆) 4
1.1.1 问题描述 4
1.1.2 算法分析 5
1.1.3 参考程序 6
1.1.4 部分测试数据和输出结果 7
1.2 三核苷酸(难度:★★★☆☆) 8
1.2.1 问题描述 8
1.2.2 算法分析 9
1.2.3 参考程序 10
1.2.4 部分测试数据和输出结果 12
1.3 紧急逃离(难度:★★★☆☆) 12
1.3.1 问题描述 12
1.3.2 算法分析 14
1.3.3 参考程序 15
1.3.4 部分测试数据和输出结果 18
1.4 简单数谜(难度:★★★☆☆) 21
1.4.1 问题描述 21
1.4.2 算法分析 22
1.4.3 参考程序 23
1.4.4 部分测试数据和输出结果 26
1.5 股票投资(难度:★★★★☆) 28
1.5.1 问题描述 28
1.5.2 算法分析 30
1.5.3 参考程序 31
1.5.4 部分测试数据和输出结果 33
第2章 2007年中山大学内部选拔赛第二试试题分析 35
2.1 新年礼物(难度:★★☆☆☆) 35
2.1.1 问题描述 35
2.1.2 算法分析 36
2.1.3 参考程序 36
2.1.4 部分测试数据和输出结果 37
2.2 辽哥游戏(难度:★★★★★) 37
2.2.1 问题描述 37
2.2.2 算法分析 39
2.2.3 参考程序 40
2.2.4 部分测试数据和输出结果 41
2.3 压缩后缀数组(难度:★★☆☆☆) 42
2.3.1 问题描述 42
2.3.2 算法分析 44
2.3.3 参考程序 44
2.3.4 部分测试数据和输出结果 45
2.4 划分方板(难度:★★★☆☆) 45
2.4.1 问题描述 45
2.4.2 算法分析 46
2.4.3 参考程序 47
2.4.4 部分测试数据和输出结果 48
2.5 终极简单问题(难度:★★★☆☆) 49
2.5.1 问题描述 49
2.5.2 算法分析 50
2.5.3 参考程序 50
2.5.4 部分测试数据和输出结果 52
第3章 2007年中山大学内部选拔赛第三试试题分析 53
3.1 因子的因子(难度:★★★☆☆) 53
3.1.1 问题描述 53
3.1.2 算法分析 53
3.1.3 参考程序 54
3.1.4 部分测试数据和输出结果 56
3.2 赌神(难度:★★★★★) 57
3.2.1 问题描述 57
3.2.2 算法分析 58
3.2.3 参考程序 59
3.2.4 部分测试数据和输出结果 60
3.3 寻找中点(难度:★★★★☆) 61
3.3.1 问题描述 61
3.3.2 算法分析 62
3.3.3 参考程序 63
3.3.4 部分测试数据和输出结果 66
3.4 德布鲁因序列(难度:★★★☆☆) 68
3.4.1 问题描述 68
3.4.2 算法分析 68
3.4.3 参考程序 69
3.4.4 部分测试数据和输出结果 70
3.5 赛马(难度:★★☆☆☆) 70
3.5.1 问题描述 70
3.5.2 算法分析 71
3.5.3 参考程序 72
3.5.4 部分测试数据和输出结果 73
第4章 2007年中山大学内部选拔赛第四试试题分析 74
4.1 蚂蚁征途(难度:★★★★☆) 74
4.1.1 问题描述 74
4.1.2 算法分析 75
4.1.3 参考程序 76
4.1.4 部分测试数据和输出结果 78
4.2 二次同余方程(难度:★★★★★) 79
4.2.1 问题描述 79
4.2.2 算法分析 79
4.2.3 参考程序 80
4.2.4 部分测试数据和输出结果 83
4.3 聚会(难度:★★★☆☆) 83
4.3.1 问题描述 83
4.3.2 算法分析 84
4.3.3 参考程序 85
4.3.4 部分测试数据和输出结果 87
4.4 质数和式(难度:★★☆☆☆) 87
4.4.1 问题描述 87
4.4.2 算法分析 88
4.4.3 参考程序 89
4.4.4 部分测试数据和输出结果 90
4.5 树(难度:★★★☆☆) 91
4.5.1 问题描述 91
4.5.2 算法分析 92
4.5.3 参考程序 92
4.5.4 部分测试数据和输出结果 94
第5章 2007年中山大学内部选拔赛第五试试题分析 98
5.1 水池(难度:★★☆☆☆) 98
5.1.1 问题描述 98
5.1.2 算法分析 99
5.1.3 参考程序 99
5.1.4 部分测试数据和输出结果 100
5.2 数字排序(难度:★★★☆☆) 101
5.2.1 问题描述 101
5.2.2 算法分析 102
5.2.3 参考程序 102
5.2.4 部分测试数据和输出结果 104
5.3 移动(难度:★★★★★) 105
5.3.1 问题描述 105
5.3.2 算法分析 105
5.3.3 参考程序 106
5.3.4 部分测试数据和输出结果 111
5.4 球星(难度:★★★☆☆) 112
5.4.1 问题描述 112
5.4.2 算法分析 113
5.4.3 参考程序 114
5.4.4 部分测试数据和输出结果 117
5.5 不幸运数(难度:★★★☆☆) 118
5.5.1 问题描述 118
5.5.2 算法分析 119
5.5.3 参考程序 119
5.5.4 部分测试数据和输出结果 122
第6章 2007年中山大学内部选拔赛第六试试题分析 124
6.1 树的计数(难度:★★★★☆) 124
6.1.1 问题描述 124
6.1.2 算法分析 124
6.1.3 参考程序 126
6.1.4 部分测试数据和输出结果 130
6.2 九数码(难度:★★☆☆☆) 131
6.2.1 问题描述 131
6.2.2 算法分析 132
6.2.3 参考程序 132
6.2.4 部分测试数据和输出结果 134
6.3 数列(难度:★★★☆☆) 135
6.3.1 问题描述 135
6.3.2 算法分析 136
6.3.3 参考程序 137
6.3.4 部分测试数据和输出结果 141
6.4 国王(难度:★★★☆☆) 142
6.4.1 问题描述 142
6.4.2 算法分析 143
6.4.3 参考程序 143
6.4.4 部分测试数据和输出结果 144
6.5 面积(难度:★★★☆☆) 145
6.5.1 问题描述 145
6.5.2 算法分析 146
6.5.3 参考程序 147
6.5.4 部分测试数据和输出结果 150
第7章 2008年中山大学内部选拔赛第一试试题分析 151
7.1 PPMM(难度:★★★☆☆) 151
7.1.1 问题描述 151
7.1.2 算法分析 152
7.1.3 参考程序 153
7.1.4 部分测试数据和输出结果 155
7.2 三角形计算(难度:★★★★☆) 156
7.2.1 问题描述 156
7.2.2 算法分析 157
7.2.3 参考程序 158
7.2.4 部分测试数据和输出结果 161
7.3 生成字符串(难度:★★★☆☆) 161
7.3.1 问题描述 161
7.3.2 算法分析 162
7.3.3 参考程序 163
7.3.4 部分测试数据和输出结果 164
7.4 翻硬币(难度:★★★☆☆) 165
7.4.1 问题描述 165
7.4.2 算法分析 166
7.4.3 参考程序 167
7.4.4 部分测试数据和输出结果 169
7.5 又是C(n, m)(难度:★★☆☆☆) 169
7.5.1 问题描述 169
7.5.2 算法分析 170
7.5.3 参考程序 170
7.5.4 部分测试数据和输出结果 172
第8章 2008年中山大学内部选拔赛第二试试题分析 173
8.1 次小生成树(难度:★★★★★) 173
8.1.1 问题描述 173
8.1.2 算法分析 174
8.1.3 参考程序 175
8.1.4 部分测试数据和输出结果 180
8.2 分宝藏(难度:★★★☆☆) 181
8.2.1 问题描述 181
8.2.2 算法分析 182
8.2.3 参考程序 182
8.2.4 部分测试数据和输出结果 184
8.3 探照灯(难度:★★☆☆☆) 185
8.3.1 问题描述 185
8.3.2 算法分析 185
8.3.3 参考程序 186
8.3.4 部分测试数据和输出结果 188
8.4 数字识别系统(难度:★★★☆☆) 188
8.4.1 问题描述 188
8.4.2 算法分析 190
8.4.3 参考程序 191
8.4.4 部分测试数据和输出结果 194
8.5 开灯(难度:★★☆☆☆) 194
8.5.1 问题描述 194
8.5.2 算法分析 195
8.5.3 参考程序 196
8.5.4 部分测试数据和输出结果 196
第9章 2008年中山大学内部选拔赛第三试试题分析 197
9.1 最大对称子数列(难度:★★★★★) 197
9.1.1 问题描述 197
9.1.2 算法分析 198
9.1.3 参考程序 199
9.1.4 部分测试数据和输出结果 205
9.2 寻宝(难度:★★★★☆) 205
9.2.1 问题描述 205
9.2.2 算法分析 206
9.2.3 参考程序 207
9.2.4 部分测试数据和输出结果 209
9.3 大明王朝(难度:★★☆☆☆) 210
9.3.1 问题描述 210
9.3.2 算法分析 212
9.3.3 参考程序 213
9.3.4 部分测试数据和输出结果 215
9.4 重建长城(难度:★★★☆☆) 216
9.4.1 问题描述 216
9.4.2 算法分析 217
9.4.3 参考程序 217
9.4.4 部分测试数据和输出结果 218
9.5 斯诺克(难度:★★★★★) 219
9.5.1 问题描述 219
9.5.2 算法分析 221
9.5.3 参考程序 222
9.5.4 部分测试数据和输出结果 227
第10章 2008年中山大学内部选拔赛第四试试题分析 229
10.1 度限制生成树(难度:★★★☆☆) 229
10.1.1 问题描述 229
10.1.2 算法分析 229
10.1.3 参考程序 230
10.1.4 部分测试数据和输出结果 231
10.2 重新分工(难度:★★★★☆) 232
10.2.1 问题描述 232
10.2.2 算法分析 233
10.2.3 参考程序 233
10.2.4 部分测试数据和输出结果 236
10.3 桩(难度:★★★★☆) 236
10.3.1 问题描述 236
10.3.2 算法分析 237
10.3.3 参考程序 238
10.3.4 部分测试数据和输出结果 242
10.4 旅行方案(难度:★★★★☆) 242
10.4.1 问题描述 242
10.4.2 算法分析 243
10.4.3 参考程序 244
10.4.4 部分测试数据和输出结果 248
10.5 最大最短距离(难度:★★★☆☆) 248
10.5.1 问题描述 248
10.5.2 算法分析 249
10.5.3 参考程序 250
10.5.4 部分测试数据和输出结果 252
第11章 2008年中山大学内部选拔赛第五试试题分析 254
11.1 菱形(难度:★★★☆☆) 254
11.1.1 问题描述 254
11.1.2 算法分析 254
11.1.3 参考程序 256
11.1.4 部分测试数据和输出结果 258
11.2 傻瓜式函数(难度:★★☆☆☆) 259
11.2.1 问题描述 259
11.2.2 算法分析 260
11.2.3 参考程序 260
11.2.4 部分测试数据和输出结果 262
11.3 最大公约数(难度:★★★☆☆) 262
11.3.1 问题描述 262
11.3.2 算法分析 263
11.3.3 参考程序 264
11.3.4 部分测试数据和输出结果 264
11.4 数列(难度:★★☆☆☆) 265
11.4.1 问题描述 265
11.4.2 算法分析 266
11.4.3 参考程序 266
11.4.4 部分测试数据和输出结果 267
11.5 间距(难度:★★★☆☆) 268
11.5.1 问题描述 268
11.5.2 算法分析 269
11.5.3 参考程序 269
11.5.4 部分测试数据和输出结果 273
第12章 2008年中山大学内部选拔赛第六试试题分析 274
12.1 猜答案(难度:★★★★☆) 274
12.1.1 问题描述 274
12.1.2 算法分析 275
12.1.3 参考程序 275
12.1.4 部分测试数据和输出结果 278
12.2 A+B问题(难度:★★★☆☆) 278
12.2.1 问题描述 278
12.2.2 算法分析 279
12.2.3 参考程序 280
12.2.4 部分测试数据和输出结果 282
12.3 时间流逝(难度:★★★☆☆) 283
12.3.1 问题描述 283
12.3.2 算法分析 284
12.3.3 参考程序 285
12.3.4 部分测试数据和输出结果 286
12.4 裸题(难度:★★☆☆☆) 286
12.4.1 问题描述 286
12.4.2 算法分析 287
12.4.3 参考程序 288
12.4.4 部分测试数据和输出结果 289
12.5 谜题(难度:★★★☆☆) 289
12.5.1 问题描述 289
12.5.2 算法分析 290
12.5.3 参考程序 291
12.5.4 部分测试数据和输出结果 292
附录1 中山大学集训队选拔流程图 293
附录2 中国内地高校参加ACM/ICPC全球总决赛的成绩(1997~2012) 294
附录3 中山大学队2008~2011年在亚洲区成绩 296
附录4 中山大学队1999~2012年在全球总决赛成绩 297
作者简介 298
参考文献 300