进阶题单(已更新至 p2.2 排序算法)

root站长 2020-04-13 11:11:00 2022-06-16 20:19:37

这里是 luogu liuseroj 的刷题单,主要是面对学有余力的同学,当然,其他同学也可以多尝试尝试!

食用指南

在刚刚更新的 2.0 版本中,我们改变了原来按知识难度排列知识点的目录结构,改为按照专题大类组织目录结构。

为了方便按知识难度刷题的用户,这里给出一些建议:

  • 对于初学者,建议先完成 Part 1,2 两部分内容,为接下来的学习打好基础。
  • 对于要参加 NOIP 提高组的选手,建议在前面的基础上优先完成 Part 3.1-3.4, 4.1-4.4, 6.1-6.5, 7.1-7.7, 8.1-8.7 的内容(具体内容见下),在此基础上继续完成其他内容。
  • 每个专题下的题目先给出模板,剩下的题目均按照难度递增顺序排序,部分难度较高的综合性题目建议达到一定能力后再尝试解决。

Part 0 试机题

三道试机题目。

Part 1 入门阶段

本部分内容针对入门 OIer ,主要是语言基础内容。

Part 1.1 从零开始

语言基础题。

Part 1.2 数组基础

数组可以用于存储大量的信息。

Part 1.3 字符串基础

字符串是特殊的数组,但它也有很多自身的特点。

Part 1.4 函数,递归及递推

这是初学者最难理解的部分,建议画出递归图来理解递归的过程。

Part 2 基础算法

这一部分的内容包含了 OI 中的基础算法,供各位巩固基础。

当然,这里面也有一些难度比较高的题目。

Part 2.1 模拟

模拟,顾名思义就是题目要求你做什么你就做什么,这样的题目很考验选手的代码组织能力。

这里不仅仅有非常基础的模拟,也有一些非常复杂的题目。

Part 2.2 排序算法

通过排序,我们可以将数据有序化,这让我们对数据的处理方便了很多。

Part 2.3 二分答案

对一个满足单调性质的问题,我们可以采用二分答案的方法来解决。

Part 2.4 分治

分治,即分而治之,将大问题分解为小问题,分别求解,最后合并结果。

Part 2.5 贪心

贪心,指的是决策时都采取当前最优解的算法。有的时候,这样做确实可以获得最优解。

Part 2.6 构造

构造题是一种形式灵活多样的题型。正是因为这个特点,使得构造题没有一种通用的方法。

Part 2.7 高精度

在 C++ 中,long long 都无法表示我们需要的整数时怎么办?那就用高精度吧!

Part 2.8 前缀和 & 差分

前缀和是一种重要的预处理,能大大降低查询的时间复杂度,而差分则是一种和前缀和相对的策略。

Copyleft

本项目采用 知识共享署名-相同方式共享 4.0 国际许可协议 以及附加的 The Star And Thank Author License 进行许可。

换言之,您可以自由的共享并演绎该项目,但是必须给出必要的署名,并以相同方式共享本项目,并为本项目的 Github 仓库 点赞(Star)。

共 7 条回复

nullhim

不然的话真不知道该做那道

nullhim

chen_zhe沙雕

随机跳题可有可无吧……

root站长

在题单里面随机跳题吗?

nullhim

我觉得有必要来一个随机跳题

zhangyihao

ao,真香(含泪)

zhangyihao

食用指南????

服务器时间