# 科学刷题

参考灵神题单进行学习,我这边使用的专题训练的方式。

# 滑动窗口与双指针

# 定长滑动窗口

# 定长滑动窗口-基础题(8题)

# 定长滑动窗口-进阶题(16题)

# 定长滑动窗口-选做题(5题)

# 不定长滑动窗口

# 求最大或最短

# 求最长与最大-基础
# 求最长与最大-进阶

# 求最短与最小

# 求子数组个数

# 越长越合法
# 越短越合法
# 恰好型滑动窗口

# 不定长滑动窗口-选做

# 单序列双指针

# 相向双指针

# 同向双指针

# 背向双指针

# 原地修改

# 双序列双指针

# 双指针-基础

# 判断子序列

# 判断子序列-基础
# 判断子序列-进阶

# 三指针

# 分组循环

# 二分算法

# 二分查找

# 二分查找-基础题

# 二分查找-进阶题

# 二分答案

# 求最小

# 求最大

# 二分间接值

# 最小化最大值

# 最大化最小值

# 第K小与大

# 二分算法-其他

# 单调栈

# 单调栈-基础

# 单调栈-进阶

# 矩形

# 贡献法

# 最小字典序

# 网格图

# 网格图DFS

# 网格图BFS

# 网格图0-1BFS

# 网格图Dijkstra

# 网格图综合应用

# 位运算

# 位运算基础题

# 异或XOR的性质

# 与或AND-OR的性质

# AND-OR LogTrick

# GCD LogTrick

# 拆位与贡献法

# 试填法

# 恒等式

# 线性基

# 位运算思维题

# 位运算其他

# 图论运算法

# 图的遍历

# DFS

# BFS

# 图论建模 + BFS 最短路

# 跳跃游戏

# 拓扑排序

# 拓扑排序

# 在拓扑上DP

# 基环树

# 最短路

# Dijkstra算法

# 分层最短路和SPFA与差分约束

# Floyd算法

# Bitset 优化 Floyd

# 最小生成树

# 欧拉路径与欧拉回路

# 强连通分量与双连通分量

# 二分图染色

# 网络流

# 图论其他

# 树上算法

# 动态规划

# 入门DP

# 爬楼梯

# 打家劫舍

# 最大子数组和

# 网格DP

# 网格DP基础

# 网格DP进阶

# 背包DP

# 01背包

# 完全背包

# 多重背包

# 分组背包

# 树上背包

# 经典线性DP

# LCS

# LCS基础
# LCS进阶

# LIS

# LIS基础
# LIS进阶

# 划分DP

# 判定能否划分

# 最优化分

# 约束划分个数

# 状态机DP

# 买卖股票

# 状态机DP基础

# 状态机DP进阶

# 其他线性DP

# 一堆DP

# DP不相交区间

# 子数组DP

# 合法子序列DP

# 子矩形DP

# 多维DP

# 区间DP

# 最长回文子序列

# 其他区间DP

# 状态压缩DP

# 排列型

# 相邻无关
# 相邻有关

# 旅行商问题TSP

# 子集状压DP

# 轮廓线DP

# SOS-DP

# 其他状压DP

# 数位DP

# 统计合法元素的数目

# 统计合法元素的价值总和

# 其他数位DP

# 数据结构优化DP

# 前缀和优化

# 单调栈优化

# 单调队列优化

# 树状数组-线段树优化

# 字典树优化

# 矩阵快速幂优化

# 斜率优化DP

# WQS二分DP

# 其他优化

# 树形DP

# 树的直径

# 最大独立集

# 最小支配集

# 换根DP

# 其他树形DP

# 图DP

# 博弈DP

# 概率期望DP

# 输出具体方案

# 前后缀分解

# 把X变成Y

# 跳跃游戏

# 动态规划其他

# 常用数据结构

# 枚举技巧

# 枚举右维护左

# 枚举中间

# 遍历对角线

# 前缀和

# 前缀和基础

# 前缀和与哈希表

# 距离和

# 状态压缩前缀和

# 前缀和进阶

# 二维前缀和

# 差分

# 一维差分

# 二维差分

# 栈结构

# 栈基础

# 栈进阶

# 邻项消除

# 合法括号字符串栈

# 表达式解析

# 对顶栈

# 单调栈-DS

# 队列结构

# 队列基础

# 队列设计

# 双端队列

# 单调队列

#

# 堆基础

# 堆进阶

# 第K小与大-堆

# 重排元素

# 反悔堆

# 懒删除堆

# 对顶堆

# 字典树(Trie)

# 字典树基础

# 字典树进阶

# 字典树优化DP

# 零一字典树

# 并查集

# 并查集基础

# 并查集进阶

# GCD并查集

# 数组并查集

# 区间并查集

# 边权并查集

# 树状数组 / 线段树

# 树状数组

# 逆序对

# 线段树无区间更新

# Lazy线段树

# 动态开点线段树

# ST表

# 伸展树

# 根号算法

# 根号分解

# 莫队算法

# 根号算法-其他

# 专题-离线算法

# 专题-比较复杂的题目

# 数学算法

# 数论

# 判断质数

# 筛质数

# 质因数分解

# 阶乘分解

# 因子

# 最大公约数

# 最小公倍数

# 互质

# 同余

# 数论分块

# 数论-其他

# 组合数学

# 乘法原理

# 组合计数

# 放球问题

# 容斥原理

# 贡献法

# 生成函数

# 概率期望

# 博弈论

# 计算几何

# 点-线

#

# 矩形-多边形

# 凸包

# 随机算法

# 随机数

# 随机化技巧

# 杂项

# 回文数

# 整数拆分

# 曼哈顿距离

# 多项式

# 快速沃尔什变换-FWT

# 线性基

# 杂项-其他

# 贪心算法

# 贪心策略

# 从最小最大开始贪心

# 单序列配对

# 双序列配对

# 从最左最右开始贪心

# 划分型贪心

# 先枚举再贪心

# 交换论证法

# 相邻不同

# 反悔贪心

# 区间贪心

# 贪心不相交区间

# 区间分组

# 区间选点

# 区间覆盖

# 合并区间

# 其他区间贪心

# 字符串贪心

# 字典序最小最大

# 回文串贪心

# 合法括号字符串

# 数学贪心

# 数学贪心-基础

# 乘积贪心

# 排序不等式

# 均值不等式

# 中位数贪心

# 归纳法

# 其他数学贪心

# 数学贪心-思维题

# 从特殊到一般

# 脑筋急转弯

# 逆向思维

# 等价转换

# 贡献法

# 分类讨论

# 构造题

# 交互题

# 贪心其他

# 链表与二叉树与回溯

# 链表

# 遍历链表

# 删除节点

# 插入节点

# 反转链表

# 前后指针

# 快慢指针

# 双指针

# 合并链表

# 分治

# 链表综合应用

# 链表其他

# 二叉树

# 遍历二叉树

# 自顶向下DFS-先序遍历

# 自底向上DFS-后序遍历

# 自底向上DFS-删点

# 二叉树有递有归

# 二叉树的直径

# 二叉树回溯

# 最近公共祖先

# 二叉搜索树

# 创建二叉树

# 插入删除节点

# 树形DP

# 二叉树BFS

# 链表+二叉树

# N叉树

# 二叉树其他

# 二叉树BFS

# 层序遍历

# 判断对称

# 一般树

# 一般树遍历

# 自顶向下DFS

# 自底向上DFS

# 一般树有递有归

# 树的直径

# 树的拓扑排序

# DFS时间戳

# 最近公共祖先-倍增算法

# 树上滑动窗口

# 树上启发式合并

# 点分治

# 一般树其他

# 回溯

# 入门回溯

# 子集型回溯

# 划分型回溯

# 组合型回溯

# 排列型回溯

# 有重复元素的回溯

# 搜索

# 折半枚举

# 其他递归和分治

# 字符串

# KMP

# Z函数

# Manacher算法

# 字符串哈希

# 最小表示法

# 字典树

# AC自动机

# 后缀数组-后缀自动机

# 子序列自动机

# 字符串其他