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

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

第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部分 图论

第9章 树

9.1 树的性质与遍历

猫猫和企鹅

9.2 树的直径与重心

树网的核

会议

9.3 最近公共祖先

最近公共祖先

最大流量

9.4 树的重链剖分

重链剖分

最近公共祖先

种草

旅游

9.5 课后习题与练习

道路修建

树的重心

小猪爬树

核心城市

访问

联合权值

逃学的小孩

仓鼠找糖

运输计划

天天爱跑步

树上操作

QTree3

旅行

第4部分 动态规划

第5部分 数学专题选讲