第5部分的 高级数据结构与算法班.pdf

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5部分的 高级数据结构与算法班

2016 年山东省信息学奥赛夏令营讲义 (2016.7.12-7.20 ) 举办学校:日照一中 第5 部分 高级数据结构与算法班 2 5.1 stl 库的使用+题目选讲(李佳蔚) 2 5.2 计算几何基础(李佳蔚) 6 5.3 树状数组与线段树(张浩威) 18 5.4 平衡树treap,splay (高天宇) 19 5.5 网络流(李佳蔚) 33 5.6 字符串(姜志豪) 39 5.7 动态规划优化(张浩威) 45 1 / 46 2016 年山东省信息学奥赛夏令营讲义 (2016.7.12-7.20 ) 举办学校:日照一中 第5 部分 高级数据结构与算法班 5.1 stl 库的使用+题目选讲(李佳蔚) 【知识点】 掌握基本的c++ stl 模板库的应用 其中常用函数包括: 1. 排序函数sort,stable_sort 2. 最大最小值函数min,max,min_element,max_element 3. 二分查找函数lower_bound,upper_bound 4. 交换函数swap 5. 去重函数unique 6. 生成排列函数next_permutation,prev_permutation 常用容器与配接器包括 1. 栈stack 2. 队列queue 3. 双端队列deque 4. 优先队列priority_queue 5. 向量vector 6. 对组pair 7. 集合set,multiset 8. 映射map,multimap 9. 字符串string 【知识讲解】 1. STL 是什么: 在 OI 竞赛中,可以使用的语言有 C++ 、C 、Pascal,其中 C++ 最大的优势是, 它本身提供了一个模板库 —— Standard Template Library (标准模板库),简称STL。 STL 包含一系列算法和容器等,合理地使用 STL,可以在提高编写代码的效率。 NOI 系列比赛自 2011 年起允许 C++ 选手使用 STL,所以我们应该利用好 STL, 发挥 C++ 语言的优势。 —— Menci 2. STL 分类 STL 可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接 器(adapters)、算法(algorithms)、仿函数(functors )六个部分 3. STL 中的算法主要包含在algorithm 头文件中 4. 迭代器是用于访问 STL 容器中元素的一种数据类型 5. STL 中提供一些与排序相关的算法,最常用的是不稳定排序std::sort 。它由类似快 速排序的算法实现,时间复杂度为(期望)O(nlogn) 6. 使用std::unique 函数来去除有序区间内重复的元素,其调用格式与std::sort 类似, 返回去重后的区间结束位置 7. 使用std::max 和std::min 取得两个数中较大、较小值。 8. 使用std::max_element 和std::min_element 取得一个区间内的最大、最小值。函数返 2 / 46 2016 年山东省信息学奥赛夏令营讲义 (2016.7.12-7.20 ) 举办学校:日照一中 回对应值的迭代器。 9. STL 中常用的用于二分查找的函数有三个:std::lower_bound、std::upper_b

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档