《算法竞赛入门经典(第2版)》

article/2025/8/29 18:26:32

《算法竞赛入门经典(第2版)

基本信息

作者: 刘汝佳   

丛书名: 算法艺术与信息学竞赛

出版社:清华大学出版社

ISBN:9787302356288

上架时间:2014-6-5

出版日期:2014 年6月

开本:16开

页码:464

版次:2-1

所属分类:计算机 > 计算机科学理论与基础知识 > 计算理论 > 算法

更多关于》》》《算法竞赛入门经典(第2版)》

 

内容简介

    书籍

    计算机书籍

《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把c/c++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12 章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、c++与stl入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。

《算法竞赛入门经典(第2版)》可作为全国青少年信息学奥林匹克联赛(noip)复赛教材、全国青少年信息学奥林匹克竞赛(noi)和acm国际大学生程序设计竞赛(acm/icpc)的训练资料,也可作为it工程师与科研人员的参考用书。

 

 

目录

《算法竞赛入门经典(第2版)》

第1部分语言篇

第1章程序设计入门 1

1.1 算术表达式 1

1.2 变量及其输入 3

1.3 顺序结构程序设计 6

1.4 分支结构程序设计 9

1.5 注解与习题 13

1.5.1 c语言、c99、c11及其他 13

1.5.2 数据类型与输入格式 14

1.5.3 习题 15

1.5.4 小结 16

第2章循环结构程序设计 18

2.1 for循环 18

2.2 while循环和do-while循环 22

2.3 循环的代价 25

2.4 算法竞赛中的输入输出框架 27

2.5 注解与习题 34

2.5.1 习题 34

2.5.2 小结 36

第3章数组和字符串 37

3.1 数组 37

3.2 字符数组 41

3.3 竞赛题目选讲 45

3.4 注解与习题 53

3.4.1 进位制与整数表示 54

3.4.2 思考题 55

3.4.3 黑盒测试和在线评测系统 55

3.4.4 例题一览与习题 56

3.4.5 小结 59

第4章函数和递归 61

4.1 自定义函数和结构体 61

4.2 函数调用与参数传递 65

4.2.1 形参与实参 65

4.2.2 调用栈 66

4.2.3 用指针作参数 69

4.2.4 初学者易犯的错误 71

4.2.5 数组作为参数和返回值 71

4.2.6 把函数作为函数的参数 73

4.3 递归 74

4.3.1 递归定义 74

4.3.2 递归函数 75

4.3.3 c语言对递归的支持 75

4.3.4 段错误与栈溢出 77

4.4 竞赛题目选讲 79

4.5 注解与习题 92

4.5.1 头文件、副作用及其他 93

4.5.2 例题一览和习题 95

4.5.3 小结 99

第5章 c++与stl入门 100

5.1 从c到c++ 100

5.1.1 c++版框架 101

5.1.2 引用 102

5.1.3 字符串 103

5.1.4 再谈结构体 105

5.1.5 模板 106

5.2 stl初步 108

5.2.1 排序与检索 108

5.2.2 不定长数组:vector 109

5.2.3 集合:set 112

5.2.4 映射:map 113

5.2.5 栈、队列与优先队列 115

5.2.6 测试stl 120

5.3 应用:大整数类 123

5.3.1 大整数类biginteger 124

5.3.2 四则运算 125

5.3.3 比较运算符 126

5.4 竞赛题目举例 127

5.5 习题 134

第2部分基础篇

第6章数据结构基础 139

6.1 再谈栈和队列 139

6.2 链表 143

6.3 树和二叉树 148

6.3.1 二叉树的编号 148

6.3.2 二叉树的层次遍历 150

6.3.3 二叉树的递归遍历 155

6.3.4 非二叉树 160

6.4 图 162

6.4.1 用dfs求连通块 162

6.4.2 用bfs求最短路 164

6.4.3 拓扑排序 167

6.4.4 欧拉回路 168

6.5 竞赛题目选讲 170

6.6 训练参考 175

第7章暴力求解法 182

7.1 简单枚举 182

7.2 枚举排列 184

7.2.1 生成1~n的排列 184

7.2.2 生成可重集的排列 185

7.2.3 解答树 186

7.2.4 下一个排列 187

7.3 子集生成 188

7.3.1 增量构造法 188

7.3.2 位向量法 188

7.3.3 二进制法 189

7.4 回溯法 191

7.4.1 八皇后问题 191

7.4.2 其他应用举例 194

7.5 路径寻找问题 198

7.6 迭代加深搜索 206

7.7 竞赛题目选讲 209

7.8 训练参考 213

第3部分竞赛篇

第8章高效算法设计 220

8.1 算法分析初步 220

8.1.1 渐进时间复杂度 220

8.1.2 上界分析 222

8.1.3 分治法 223

8.1.4 正确对待算法分析结果 224

8.2 再谈排序与检索 225

8.2.1 归并排序 225

8.2.2 快速排序 227

8.2.3 二分查找 227

8.3 递归与分治 229

8.4 贪心法 231

8.4.1 背包相关问题 231

8.4.2 区间相关问题 232

8.4.3 huffman编码 234

8.5 算法设计与优化策略 235

8.6 竞赛题目选讲 244

8.7 训练参考 252

第9章动态规划初步 259

9.1 数字三角形 259

9.1.1 问题描述与状态定义 259

9.1.2 记忆化搜索与递推 260

9.2 dag上的动态规划 262

9.2.1 dag模型 262

9.2.2 最长路及其字典序 262

9.2.3 固定终点的最长路和最短路 264

9.2.4 小结与应用举例 267

9.3 多阶段决策问题 270

9.3.1 多段图的最短路 270

9.3.2 0-1背包问题 271

9.4 更多经典模型 274

9.4.1 线性结构上的动态规划 274

9.4.2 树上的动态规划 280

9.4.3 复杂状态的动态规划 284

9.5 竞赛题目选讲 290

9.6 训练参考 303

第10章数学概念与方法 310

10.1 数论初步 310

10.1.1 欧几里德算法和唯一分解定理 310

10.1.2 eratosthenes筛法 312

10.1.3 扩展欧几里德算法 313

10.1.4 同余与模算术 314

10.1.5 应用举例 316

10.2 计数与概率基础 318

10.2.1 杨辉三角与二项式定理 319

10.2.2 数论中的计数问题 321

10.2.3 编码与解码 323

10.2.4 离散概率初步 324

10.3 其他数学专题 327

10.3.1 递推 327

10.3.2 数学期望 332

10.3.3 连续概率 334

10.4 竞赛题目选讲 336

10.5 训练参考 341

第11章图论模型与算法 352

11.1 再谈树 352

11.1.1 无根树转有根树 352

11.1.2 表达式树 353

11.2 最小生成树 355

11.2.1 kruskal算法 356

11.2.2 竞赛题目选解 358

11.3 最短路问题 359

11.3.1 dijkstra算法 359

11.3.2 bellman-ford算法 363

11.3.3 floyd算法 364

11.3.4 竞赛题目选讲 365

11.4 网络流初步 366

11.4.1 最大流问题 366

11.4.2 增广路算法 367

11.4.3 最小割最大流定理 369

11.4.4 最小费用最大流问题 370

11.4.5 应用举例 372

11.5 竞赛题目选讲 375

11.6 训练参考 379

11.7 总结与展望 384

第12章高级专题 386

12.1 知识点选讲 386

12.1.1 自动机 386

12.1.2 树的经典问题和方法 392

12.1.3 可持久化数据结构 397

12.1.4 多边形的布尔运算 399

12.2 难题选解 404

12.2.1 数据结构 404

12.2.2 网络流 409

12.2.3 数学 411

12.2.4 几何 415

12.2.5 非完美算法 419

12.2.6 杂题选讲 423

12.3 小结与习题 446

附录a 开发环境与方法 455

a.1 命令行 455

a.1.1 文件系统 455

a.1.2 进程 456

a.1.3 程序的执行 456

a.1.4 重定向和管道 457

a.1.5 常见命令 457

a.2 操作系统脚本编程入门 458

a.2.1 windows下的批处理 458

a.2.2 linux下的bash脚本 459

a.2.3 再谈随机数 460

a.3 编译器和调试器 460

a.3.1 gcc的安装和测试 460

a.3.2 常见编译选项 461

a.3.3 gdb简介 462

a.3.4 gdb的高级功能 463

a.4 浅谈ide 464

主要参考书目 465

本图书信息来源:互动出版网


http://chatgpt.dhexx.cn/article/J8d9055O.shtml

相关文章

《算法竞赛入门经典》(第二版)代码及详细解释(持续更新!)

笔者中山大学硕士,医学生计科学生的集合体,机器学习爱好者。 现发布【刘汝佳《算法竞赛入门经典》(第二版)——紫书】的例题和习题的代码和详细解释。 欢迎批评指正! 另外欢迎关注本人微信公众号——程序员Yukyin …

算法竞赛入门知识干货

前言:本篇总结一部分来自刘汝佳老师的《算法竞赛入门经典》,一部分是个人竞赛学习中的一些算法知识点总结,是初学算法走了不弯路一点点积累起来的干货,对刚刚参加竞赛的盆友应该会很有帮助,如有不足请提出 一.程序设计…

《算法竞赛入门经典》——刘汝佳

“构造性”和“可行性”是计算机学科的两个最根本特征。 比赛的核心是算法 #1 语言篇 编程不是看会的,也不是听会的,而是练会的,所以应尽量在计算机旁阅读书本,以便把书中的程序输入到计算机中进行调试,顺便再做做上机…

ntoskrnl.exe占用大量cpu解决方法

ntoskrnl.exe 计划任务里面结束关于空闲时段内存自检的任务

ntoskrnl.exe占用cpu高

winr -->control 打开控制面板 还是过高,重启即可 转载于:https://my.oschina.net/u/2425353/blog/3081583

Win10开机提示蓝屏错误ntoskrnl.exe怎么修复?

1、下载bluescreenview软件。 2、下载后解压缩,启动就可以查看蓝屏原因了!如下图所示 3、发现问题出在ntoskrnl.exe这个文件上,我重新下载这个文件替换也没用! 4、继续解决问题,同时按下winX按键,如下图…

计算机反复蓝屏问题--ntoskrnl.exe

最近电脑反反复复地蓝屏吗,尤其是在电脑开机但又没怎么用的情况下。 使用联想电脑管家分析问题 下载了蓝屏分析诊断工具,提取码:5dti 检测出来问题根源是ntoskrnl.exe 解决方案: ① 参考博客1 控制面板----管理工具----任务计…

ntoskrnl.exe蓝屏

win10装完系统后频繁蓝屏,用bluescreen工具检测后,提示ntoskrnl.exe文件导致; 按照以下步骤处理: 1、在开始菜单上单击右键或按下win+x,点击命令提示符(管理员); 2、在命令提示符中输入: chkdsk c: /f 按下回车键,会弹出如下提示: 3、提示:是否计划在下次系统重…

win10一直蓝屏!一直是这个代码,ntoskrnl.exe导致,要废了。。

几个月了,一直都是这样,刚开始的系统1909,中间用过20H2、21H1,一直到现在的22H2,这个蓝屏问题一直没解决,网上的方式都试了,不行!重装了几次系统也没解决,从WIN10 专业版…

Windows内核Shellcode获取ntoskrnl.exe基址

使用NASM编译以下汇编代码 BITS 64 ORG 0section .textglobal _start _start:push rbxmov rax,QWORD [gs:0x38]mov rax,QWORD [rax0x4]shr rax,0xcshl rax,0xc _x64_find_nt_walk_page:mov rbx,QWORD [rax]cmp bx,0x5a4dje _foundsub rax,0x1000jmp _x64_find_nt_walk_page _f…

ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe Loading Kernel Symbols

电脑蓝屏问题ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe Loading Kernel Symbols 1.先找出蓝屏日志:C:\Windows\Minidumpc 2.此文件记录了蓝屏的具体原因,由于是dmp文件,这里我是用的是windbg工具进行解析,此工具可以在某讯…

ntoskrnl.lib(loadcfg.obj) : error LNK2001: 无法解析的外部符号 ___security_cookie 解决方法

背景 今天编译公司x86驱动的时候发现了如下报错,我也奇怪,为什么会找不到符号 后来发现是因为用的xp的lib。ObRegisterCallbacks最少都是sp1 改为win7\i386,错误变成了 后来在网上找了找,都是一个人写的,被反复的转载&#xff0c…

ntoskrnl.exe导致Win10蓝屏的解决方案(转载)

转自:https://zhuanlan.zhihu.com/p/37619207 下面两个方案都操作了,暂时三天了没有再出现蓝屏(之前一两天必然出现一次),具体哪个起作用也不清楚,只要不再蓝屏就好。 我的PC是自己安装的兼容机。起初安装…

win10电脑蓝屏问题 ntoskrnl.exe导致蓝屏

之前两次打都打不开,直接送去重装系统了,文件丢失/软件重装/配置环境真的很崩溃 [2020/04/23] 第三次蓝屏 这次用回形针按了电脑背后的重启按钮,就是一个小圆点,成功重启了。 怕关机又打不开,尝试了如下修复&#xf…

【系统】ntoskrnl.exe导致Win10蓝屏的解决方案

近期公司一台电脑频繁蓝屏,根据经验直接换了内存条,结果还是蓝屏; 没办法,只有查查代码了,下载了bluescreenview,蓝屏代码查看工具,链接如下: https://download.csdn.net/download…

Windows10磁盘占用率100%(ntoskrnl占用资源)导致系统卡顿

欢迎大家关注我的公众号,会不定期更新一些开发与测试的一些技术文章。 电脑从前几天开始总是莫名其妙卡顿,打开任务管理器后发现System一直占用很高, 通过下图所示打开占用系统资源的文件位置 发现是ntoskrnl占用比较多(这是还原后的ntoskrnl…

[电脑故障]ntoskrnl.exe导致DRIVER_POWER_STATE_FAILURE

描述: 用360驱动大师发现查找不到任何驱动。无法正常关机,关机时间长且最终蓝屏,显示DRIVER_POWER_STATE_FAILURE。设备管理器中驱动无法正常启用禁用,会卡死,无法正常卸载,等待时间超级长(但最后还是卸载…

windows服务器system进程cpu占用率高解决方案(ntoskrnl.exe)

之前给客户服务器部署过服务器监控程序,今天收到邮件告警提醒CPU过高,进入监控发现System进程突然升高,这个是系统进程,只查看进程cpu占用率没用,需要去查看System进程里的线程,具体是由那个线程占用CPU比较…

至强服务器装2003系统蓝屏,Windows Server 2008 R2 ntoskrnl.exe 引起蓝屏故障,重新启动...

前不久在HP ProLiant DL360 G6的服务器上面安装了Windows Server 2008 R2,系统一到晚上凌晨就出现蓝屏、重启现象,并且在 C:\Windows\Minidump 目录下面产生一些Dump文件,如下图所示: 后面我用微软的Windbg程序查看了一下系统产生的Dump文件内容,分析一下文件日志,发现内…

windows系统进程System ntoskrnl.exe pid 4占用8080端口

最近发现8080端口被占用了,花了点时间解决了。 原因:被系统的HTTP.sys 占用了 解决方法: winR, 输入regedit,打开注册表, 依次找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP 将start的值改为4&a…