《深入浅出程序设计竞赛(进阶篇)》

syzhaoss 在 2026-03-24 创建  开放分组:全部用户  上次编辑时间:2026-03-24

第1部分 进阶技巧与思想

第 1 章 常见优化技巧

1.1 双指针法

A-B数对

逛画展

最大字段和

1.2 空间换时间

直播获奖

求和

玉蟾宫

1.3 单调栈

糟糕的一天

长方形

1.4 单调队列

滑动窗口

理想的正方形

1.4 课后习题与实验

唯一的雪花

稳赚不赔

钻石收藏家

插入排序

奶牛浴场

贴海报

滑动窗口

平衡的队列

切蛋糕

小琪的格子

第2章 前缀和、差分与离散化

2.1 前缀和与二维前缀和

求区间和

最大加权矩形

聪明的质监员

2.2 差分

语文成绩

地毯

2.3 离散化

火烧赤壁

程序自动分析

过度种植

2.4 课后习题与实验

领地选择

蛋糕切块

城际高铁

借教室

面向前方

增减序列

奶牛排队

天际线

混乱的排序

博弈游戏

第3章 分治与倍增

3.1 归并排序与快速幂

快速排序

逆序对

火柴排队

麦森数

3.2 其他序列上的分治

最大子段和

3.3 倍增与ST表

平衡的队列

喷泉

3.4 课后习题与实验

集合求和

平面上的最接近点对

地毯填补

奶牛集会

青蛙

分段

覆盖计划

忠诚数

三角形

活动

第4章 进阶搜索

4.1 状态剪枝

选数

吃奶酪

小木棍

4.2 迭代加深与双向搜索

埃及分数

数组方块

八数码难题

4.3 启发式搜索

机关

黑白棋子

4.4 课后习题与实验

靶形数独

Mayan游戏

宝藏

杂草的入侵

质数礼物

四子连棋

冰球比赛

学院迷宫

文化之旅

第2部分 进阶数据结构

第5章 二叉堆与树状数组

5.1 二叉堆的实现

快速排序

5.2 优先队列

合并果子

荷马史诗

蚯蚓

5.3 树状数组

树状数组1

树状数组2

逆序对

5.4 课后习题与练习

黑匣子

中位数

序列合并

建筑抢修

最小函数值

操作系统

火柴排队

配对统计

会场预约

削平

第6章 线段树

6.1 线段树的建立与操作

线段树1

6.2 线段树的应用

开关

无聊的数列

扶苏的问题

线段树2

小白逛公园

6.3 权值线段树(选读)

逆序对

6.4 课后习题与实验

忠诚数

方差

STEP

三元上升子序列

色板游戏

煮酒

游历

序列操作

Points

第7章 字符串

7.1 KMP算法

KMP字符串匹配

无线传输

7.2 字典树

密码

点名

最长异或路径

异或粽子

7.3 课后习题与实验

最长前缀

测试

单词的周期

动物园

会议座位

秘密信道

阅读理解

最大异或和

异或

普通平衡树

可乐

第8章 线段树的进阶用法

8.1 可持久化线段树

8.2 树状数组套权值线段树

8.3 课后习题与实验

第3部分 图论

第4部分 动态规划

第5部分 数学专题选讲