编者的话:算法竞赛进阶指南pdf 李玉东
本书收录的知识点覆盖了目前国内教材相当一部分的空白。远比很多老书更接近现在国内的noi竞赛、noip竞赛和acm竞赛。难度并不完全是入门级的,而是大部分玩家真正需要的知识点和话题。欢迎下载学习
简介
本书主要基于CCF-NOI信息学奥赛所涉及的知识体系编写,对计算机编程的基本技能——数据结构与算法进行了深入的讲解。
本书面向至少掌握一门编程语言并初步了解算法设计的读者。它以各种知识点之间的联系为主线,通过各种模型和实例提供各种思维方向。深入指导,使读者在阅读本书后对算法设计的整体控制有一个初步的了解。可以让读者由浅入深地理解算法,学习算法。
本书结合了作者10年在算法设计教育、算法竞赛参与和指导领域的一线经验。阅读本书并完成所有习题的读者,将逐渐具备NOIP竞赛一等奖的实力。
相关内容部分预览
关于作者
2017年毕业于北京大学信息科学与技术学院计算机专业,2012年CCF-NOI全国信息学奥林匹克竞赛金牌获得者,国家集训队队员,2015年ACM-ICPC国际大学生编程大赛亚洲区冠军,
入选世界总决赛,NOI 2015 提案者和学生专家,NOI 2014 冬令营讲师,ACM-ICPC 2016 亚洲区域大赛北京站提案者和评委。
李玉东曾为NOI系列赛事、NOI指导训练基地、全国多所学校的选手任教,并在网络上组织过数十场模拟比赛,经验丰富,讲解透彻,广受好评。多次协助石家庄二中进行信息学竞赛训练,
参与北京大学《数据结构与算法》、《算法设计与分析》课程教学及考试命题工作。
目录
0x00 基本算法
0x01 位操作
0x02 枚举、模拟、递归
0x03 递归
0x04 两点
0x05 排序
0x06 乘数
0x07 贪心
0x08 总结与练习
0x10 基本数据结构
0x11 堆栈
0x12 队列
0x13链表和邻接表
0x14 哈希
0x15 字符串
0x16 尝试
0x17 二进制堆
0x18 总结和练习
0x20 搜索
0x21 树和图遍历
0x22 深度优先个人
0x23剪枝
0x24迭代加深
0x25 广度第一人称
0x26 缺少宽带
0x27 A*
0x28 IDA*
0x29 总结和练习
0x30 数学知识
0x31 素数
0x32 除数
0x33 同余
0x34 矩阵乘法
0x35 高斯消除和线性空间
0x36 组合计数
0x37 包容与排斥原理及M?bius函数
0x38 概率和数学期望
0x39 0/1 得分计划
0x3A 博弈论的 SG 函数
0x3B 总结和练习
0x40 高级数据结构
0x41 考虑一下
0x42 树数组
0x43 段树
0x44 块
0x45点分治
0x46 二进制:素衣胗口香糖酱
0x47 总结和练习
0x50 动态规划
0x51 线性 DP
0x52 背包
0x53 间隔 DP
0x54 树 DP
0x55 响铃和后效
0x56 状态压缩 DP
0x57 乘法优化 DP
0x58数据结构优化DP
0x59 单调队列优化 DP
0x5A 斜率优化
0x5B 四边形不等式
0x5C 计数类 DP
0x5D 数字统计 DP
0x5E 总结和练习
0x60 图论
0x61 最短路径
0x62 最小生成树
0x63 树的直径和最近的共同祖先
0x64 基础环树
0x65 负循环和差分约束
0x66 Tarjan 算法和无向图连通性
0x67 Tarjan 算法和有向图连通性
0x68 二分图匹配
0x69 覆盖和独立的二部图集
0x6A 初步网络流量
0x6B 总结和练习
0x70 综合技能与实践
0x71 C++ STL
0x72 随机数据生成与匹配
0x7F 附录
写作背景
当我准备参加信息学竞赛时,我所在地区的教学资源相对不足。大约一年半的时间,靠海量刷题3000多道,只能从一个连深度搜索都写不准的人那里拿到。初学者,成长为NOI金牌得主,入选国家集训队
从2012年开始的每一个寒暑假,我都参加了相关比赛的教学和命题。为了给学生讲清楚、透彻的知识,我不得不改变自己的角色,从“会做题”的选手变成“知道为什么”的老师。
我在高中的比赛学习中发现,由于我死记硬背,缺乏理解,我对很多知识的理解存在偏差。每次重新审视一个解决方案,更新课件,我对“分析证明”的重要性和“如何思考解决方案”的思考过程都有更深的认识。
在思维的迷宫中,有的人带着自然的灵感直奔终点;有的人坚持不懈地打造自己的指南针;有些人迷失了方向并宣布失败。作为算法比赛的人,我很高兴看到大多数参赛者,无论结果如何,
他们都保持着对编程的热情和热爱,在未来的学习和工作中继续选择信息科学方向。确实需要个人来实现“道”,但准备算法比赛的时间毕竟是非常有限的。我认为在完全退出算法竞赛之前做一些工作是值得的,
我多年来一直在寻找的东西的集合,希望读者能从中受益。我知道,作为一名指导者,很难向学习者传播“怎么做这件事”,而不是时间和知识的积累。因此,希望读者始终保持独立思考的习惯和坚定的批判精神,
对于每一个模型,不仅可以用数学语言推导出它的正确性,还能自然地“说服”自己,让整个编程过程完全融入自己的思维体系。
如何阅读这本书
一门知识的探索分为三个层次:求解、知理、考思。通俗地说,就是“怎么做”、“为什么对”、“怎么做”。在计算机科学中,前两个分别对应于算法的步骤和证明。而且很长一段时间,
后者通常与“人才”一词相关联。本书在全面讲解算法和数据结构知识点的同时,致力于模型构建和思维分析,帮助读者理清思维过程的线索和脉络,构建“技能树”,从容面对挑战。算法竞赛。 ,为以后更高层次的方案设计和研究打下坚实的基础。
文件目录
/学习智库8/算法
| ├──算法竞赛进阶指南_李煜东_17588649_.pdf 183.0MB
声明:本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。如若本站内容侵犯了原着者的合法权益,可联系我们进行处理。
暂无评论内容