当前位置: 首页 > news >正文

算法题分类整理

文章目录

      • 1 基础知识
        • 排序
        • 二分
        • 递推、递归
        • 高精
        • 前缀和、差分
        • 双指针
        • 位运算
        • 离散化
        • RMQ(Range Minimum/Maximum Query)
        • 区间问题
      • 2 BFS
        • flood fill
        • 最短路
        • 多源bfs
        • 最小步数
        • 双端队列bfs
      • 3 DFS
        • 连通性
        • 搜索顺序
        • 剪枝、优化
        • 迭代加深
        • 双向dfs
      • 3.1 其他搜索
        • A*
        • IDA*
        • 双向广搜
      • 4 数据结构
        • 链表
        • 栈、单调栈
        • 队列、单调队列
        • kmp、字符串
        • 并查集
        • 哈希
        • 树状数组
        • 线段树
        • 可持久化
        • 平衡树
        • ac自动机
      • 5 图论
        • 单源
        • 负环
        • 差分约束
        • floyd
        • 最小生成树
        • 欧拉路径欧拉回路
        • 拓扑排序
        • LCA最近公共祖先
        • 有向图连通分量
        • 无向图连通分量
        • 二分图
      • 6 数学
        • 质数
        • 约数
        • 快速幂
        • 欧拉函数
        • 同余
        • 中国剩余
        • 矩阵乘法
        • 高斯消元
        • 求组合数
        • 容斥
        • 概率与期望
        • 博弈论
      • 7 DP
        • 线性DP
        • 数字三角形
        • 最长上升序列
        • 背包
        • 状态机
        • 联通状态压缩
        • 集合状态压缩
        • 区间dp
        • 树形
        • 数位
        • 计数类DP
        • 单调队优化
        • 斜率优化
        • 记忆化搜索
      • 8 贪心
        • Huffman树
        • 排序不等式
        • 绝对值不等式
        • 推公式

1 基础知识

排序

AcWing 785. 快速排序
AcWing 786. 第k个数
AcWing 787. 归并排序
AcWing 788. 逆序对的数量
AcWing 105. 七夕祭
AcWing 106. 动态中位数
AcWing 107. 超快速排序

二分

AcWing 789. 数的范围
AcWing 790. 数的三次方根
AcWing 102. 最佳牛围栏
AcWing 113. 特殊排序

递推、递归

AcWing 95. 费解的开关
AcWing 97. 约数之和
AcWing 98. 分形之城

高精

AcWing 791. 高精度加法
AcWing 792. 高精度减法
AcWing 793. 高精度乘法
AcWing 794. 高精度除法

前缀和、差分

AcWing 795. 前缀和
AcWing 796. 子矩阵的和
AcWing 797. 差分
AcWing 798. 差分矩阵
AcWing 99. 激光炸弹
AcWing 100. 增减序列

双指针

AcWing 799. 最长连续不重复子序列
AcWing 800. 数组元素的目标和
AcWing 2816. 判断子序列

位运算

AcWing 801. 二进制中1的个数
AcWing 90. 64位整数乘法

离散化

AcWing 802. 区间和

RMQ(Range Minimum/Maximum Query)

AcWing 1273. 天才的记忆

区间问题

AcWing 803. 区间合并
AcWing 905. 区间选点
AcWing 908. 最大不相交区间数量
AcWing 906. 区间分组
AcWing 907. 区间覆盖

2 BFS

flood fill

AcWing 1097. 池塘计数
AcWing 1098. 城堡问题
AcWing 1106. 山峰和山谷

最短路

AcWing 844. 走迷宫
AcWing 847. 图中点的层次
AcWing 1076. 迷宫问题
AcWing 188. 武士风度的牛
AcWing 1100. 抓住那头牛

多源bfs

AcWing 173. 矩阵距离

最小步数

AcWing 845. 八数码
AcWing 1107. 魔板

双端队列bfs

AcWing 175. 电路维修

3 DFS

连通性

AcWing 846. 树的重心
AcWing 1112. 迷宫
AcWing 1113. 红与黑

搜索顺序

AcWing 842. 排列数字
AcWing 843. n-皇后问题
AcWing 1116. 马走日
AcWing 1117. 单词接龙
AcWing 1118. 分成互质组

剪枝、优化

AcWing 165. 小猫爬山
AcWing 166. 数独
AcWing 167. 木棒
AcWing 168. 生日蛋糕

迭代加深

AcWing 170. 加成序列

双向dfs

AcWing 171. 送礼物

3.1 其他搜索

A*

AcWing 178. 第K短路
AcWing 179. 八数码

IDA*

AcWing 180. 排书
AcWing 181. 回转游戏

双向广搜

AcWing 190. 字串变换

4 数据结构

链表

AcWing 826. 单链表
AcWing 827. 双链表

栈、单调栈

AcWing 828. 模拟栈
AcWing 3302. 表达式求值
AcWing 830. 单调栈

队列、单调队列

AcWing 829. 模拟队列
AcWing 154. 滑动窗口

kmp、字符串

AcWing 831. KMP字符串
AcWing 835. Trie字符串统计
AcWing 143. 最大异或对
AcWing 841. 字符串哈希

并查集

AcWing 836. 合并集合
AcWing 837. 连通块中点的数量
AcWing 240. 食物链
AcWing 1250. 格子游戏
AcWing 1252. 搭配购买
AcWing 237. 程序自动分析
AcWing 239. 奇偶游戏
AcWing 238. 银河英雄传说

AcWing 838. 堆排序
AcWing 839. 模拟堆

哈希

AcWing 840. 模拟散列表

树状数组

AcWing 241. 楼兰图腾
AcWing 242. 一个简单的整数问题
AcWing 243. 一个简单的整数问题2
AcWing 244. 谜一样的牛

线段树

AcWing 1275. 最大数
AcWing 245. 你能回答这些问题吗
AcWing 246. 区间最大公约数
AcWing 243. 一个简单的整数问题2
AcWing 247. 亚特兰蒂斯
AcWing 1277. 维护序列

可持久化

AcWing 256. 最大异或和
AcWing 255. 第K小数

平衡树

AcWing 253. 普通平衡树
AcWing 265. 营业额统计

ac自动机

AcWing 1282. 搜索关键词
AcWing 1285. 单词

5 图论

单源

AcWing 849. Dijkstra求最短路 I
AcWing 850. Dijkstra求最短路 II
AcWing 853. 有边数限制的最短路
AcWing 851. spfa求最短路
AcWing 1129. 热浪
AcWing 1128. 信使
AcWing 1127. 香甜的黄油
AcWing 1126. 最小花费
AcWing 920. 最优乘车
AcWing 903. 昂贵的聘礼
AcWing 1135. 新年好
AcWing 340. 通信线路
AcWing 342. 道路与航线
AcWing 341. 最优贸易
AcWing 1137. 选择最佳线路
AcWing 1131. 拯救大兵瑞恩
AcWing 1134. 最短路计数
AcWing 383. 观光

负环

AcWing 852. spfa判断负环
AcWing 904. 虫洞
AcWing 361. 观光奶牛
AcWing 1165. 单词环

差分约束

AcWing 1169. 糖果
AcWing 362. 区间
AcWing 1170. 排队布局
AcWing 393. 雇佣收银员

floyd

AcWing 854. Floyd求最短路
AcWing 1125. 牛的旅行
AcWing 343. 排序
AcWing 344. 观光之旅
AcWing 345. 牛站

最小生成树

AcWing 858. Prim算法求最小生成树
AcWing 859. Kruskal算法求最小生成树
AcWing 1140. 最短网络
AcWing 1141. 局域网
AcWing 1142. 繁忙的都市
AcWing 1143. 联络员
AcWing 1144. 连接格点
AcWing 1146. 新的开始
AcWing 1145. 北极通讯网络
AcWing 346. 走廊泼水节
AcWing 1148. 秘密的牛奶运输

欧拉路径欧拉回路

AcWing 1123. 铲雪车
AcWing 1184. 欧拉回路
AcWing 1124. 骑马修栅栏
AcWing 1185. 单词游戏

拓扑排序

AcWing 848. 有向图的拓扑序列
AcWing 1191. 家谱树
AcWing 1192. 奖金
AcWing 164. 可达性统计
AcWing 456. 车站分级

LCA最近公共祖先

AcWing 1172. 祖孙询问
AcWing 1171. 距离
AcWing 356. 次小生成树
AcWing 352. 闇の連鎖

有向图连通分量

AcWing 1174. 受欢迎的牛
AcWing 367. 学校网络
AcWing 1175. 最大半连通子图
AcWing 368. 银河

无向图连通分量

AcWing 395. 冗余路径
AcWing 1183. 电力
AcWing 396. 矿场搭建

二分图

AcWing 860. 染色法判定二分图
AcWing 861. 二分图的最大匹配
AcWing 257. 关押罪犯
AcWing 372. 棋盘覆盖
AcWing 376. 机器任务
AcWing 378. 骑士放置
AcWing 379. 捉迷藏

6 数学

质数

AcWing 866. 试除法判定质数
AcWing 867. 分解质因数
AcWing 868. 筛质数
AcWing 1292. 哥德巴赫猜想
AcWing 1293. 夏洛克和他的女朋友
AcWing 196. 质数距离

约数

AcWing 869. 试除法求约数
AcWing 870. 约数个数
AcWing 871. 约数之和
AcWing 872. 最大公约数
AcWing 197. 阶乘分解
AcWing 1291. 轻拍牛头
AcWing 1294. 樱花
AcWing 198. 反素数
AcWing 200. Hankson的趣味题

快速幂

AcWing 875. 快速幂
AcWing 876. 快速幂求逆元
AcWing 1289. 序列的第k个数
AcWing 1290. 越狱

欧拉函数

AcWing 873. 欧拉函数
AcWing 874. 筛法求欧拉函数
AcWing 201. 可见的点
AcWing 220. 最大公约数

同余

AcWing 877. 扩展欧几里得算法
AcWing 878. 线性同余方程
AcWing 203. 同余方程
AcWing 222. 青蛙的约会
AcWing 202. 最幸运的数字

中国剩余

AcWing 204. 表达整数的奇怪方式
AcWing 1298. 曹冲养猪

矩阵乘法

AcWing 1303. 斐波那契前 n 项和
AcWing 1304. 佳佳的斐波那契
AcWing 1305. GT考试

高斯消元

AcWing 883. 高斯消元解线性方程组
AcWing 884. 高斯消元解异或线性方程组
AcWing 207. 球形空间产生器
AcWing 208. 开关问题

求组合数

AcWing 885. 求组合数 I
AcWing 886. 求组合数 II
AcWing 887. 求组合数 III
AcWing 888. 求组合数 IV
AcWing 889. 满足条件的01序列
AcWing 1307. 牡牛和牝牛
AcWing 1308. 方程的解
AcWing 1309. 车的放置
AcWing 1310. 数三角形
AcWing 1312. 序列统计
AcWing 1315. 网格
AcWing 1316. 有趣的数列

容斥

AcWing 890. 能被整除的数
AcWing 214. Devu和鲜花
AcWing 215. 破译密码

概率与期望

AcWing 217. 绿豆蛙的归宿
AcWing 218. 扑克牌

博弈论

AcWing 891. Nim游戏
AcWing 892. 台阶-Nim游戏
AcWing 893. 集合-Nim游戏
AcWing 894. 拆分-Nim游戏
AcWing 1319. 移棋子游戏
AcWing 1321. 取石子
AcWing 1322. 取石子游戏

7 DP

线性DP

AcWing 897. 最长公共子序列
AcWing 902. 最短编辑距离
AcWing 899. 编辑距离

数字三角形

AcWing 898. 数字三角形
AcWing 1015. 摘花生
AcWing 1018. 最低通行费
AcWing 1027. 方格取数
AcWing 275. 传纸条

最长上升序列

AcWing 895. 最长上升子序列
AcWing 896. 最长上升子序列 II
AcWing 1017. 怪盗基德的滑翔翼
AcWing 1014. 登山
AcWing 482. 合唱队形
AcWing 1012. 友好城市
AcWing 1016. 最大上升子序列和
AcWing 1010. 拦截导弹
AcWing 187. 导弹防御系统
AcWing 272. 最长公共上升子序列

背包

不优化通式

for 物品for 体积for 决策

当空间优化成1维后,只有完全背包问题的体积是从小到大循环。因为是根据第 i 层进行更新。其他根据 i-1 层更新。
初始化
在这里插入图片描述
类型
01背包: 每个物品:选、不选
完全背包:每个物品:选0,1,2 …
多重背包:每个物品:选0 … si个

完全背包:求所有前缀的最大值
多重背包:求滑动窗口内的最大值
在这里插入图片描述
在这里插入图片描述
AcWing 2. 01背包问题

AcWing 423. 采药

f[i][j] = max(f[i-1][j], f[i - 1][j - v] + w;
f[j] = max(f[j], f[j - v] + w);

AcWing 1024. 装箱问题

体积即价值
f[i][j] = max(f[i-1][j], f[i - 1][j - v] + w;
f[j] = max(f[j], f[j - v] + w);

AcWing 3. 完全背包问题

完全背包一维优化遍历体积从小到大
f[i][j] = max(f[i-1][j], f[i][j - v] + w);
f[j] = max(f[j], f[j - v]) + w)

AcWing 278. 数字组合

完全背包一维优化遍历体积从小到大
f[i][j] = max(f[i-1][j], f[i][j - v] + w;
f[j] = max(f[j], f[j - v]) + w

AcWing 1023. 买书

f[i][j] = f[i - 1][j] + f[i][j - v]
f[j] = f[j] + f[j - v]

AcWing 4. 多重背包问题 I

f[i][j] = max(f[i-1][j], f[i-1][j - k*v] + k*w);
f[j] = max(f[j - k * v] + k * w;

AcWing 5. 多重背包问题 II

for(int i =  1; i <= s; i <<= 1)v[n ++] = vi * i, w[n] = wi * i;
f[j] = max(f[j], f[j - v[i]] + w[i])

AcWing 6. 多重背包问题 III

for (int i = 1; i <= n; i ++ ) {int v = sc.nextInt(), w = sc.nextInt(), s = sc.nextInt();for (int j = 0; j <= V; j ++ ) g[j] = f[j];for (int j = 0; j < v; j ++ ) {int hh = 0, tt = -1;for (int k = j; k <= V; k += v) {if (hh <= tt && q[hh] < k - s * v) hh ++;while (hh <= tt && g[q[tt]] - (q[tt] - j) / v * w <= g[k] - (k - j) / v * w) tt --;q[++ tt] = k;f[k] = g[q[hh]] + (k - q[hh]) / v * w;}}
}

AcWing 9. 分组背包问题

f[i][j] = max(f[i -1][j], f[i - 1][j - v[k]] + w[k])
f[j] = max(f[j], f[j - v[k]] + w[k])

AcWing 8. 二维费用的背包问题(01背包)

f[i][j] = max(f[i][j], f[i-v1][j-v2] + w)

AcWing 1022. 宠物小精灵之收服

f[j][k] = max(f[j][k], f[j - v1][k - v2] + w

AcWing 1020. 潜水员

f=MAX, f[0][0] = 0``````f[j][k] = min(f[j][k], f[max(0, j-v1)][max(0, k - v2)] + w

AcWing 1021. 货币系统
AcWing 532. 货币系统
AcWing 1019. 庆功会
AcWing 7. 混合背包问题

AcWing 1013. 机器分配
AcWing 426. 开心的金明
AcWing 10. 有依赖的背包问题
AcWing 11. 背包问题求方案数
AcWing 12. 背包问题求具体方案
AcWing 734. 能量石
AcWing 487. 金明的预算方案

状态机

AcWing 1049. 大盗阿福
AcWing 1057. 股票买卖 IV
AcWing 1058. 股票买卖 V
AcWing 1052. 设计密码
AcWing 1053. 修复DNA

联通状态压缩

AcWing 291. 蒙德里安的梦想
AcWing 91. 最短Hamilton路径
AcWing 1064. 小国王
AcWing 327. 玉米田
AcWing 292. 炮兵阵地

集合状态压缩

AcWing 524. 愤怒的小鸟
AcWing 529. 宝藏

区间dp

类型:拼接开环、记录方案数、结合高精度、二维
AcWing 282. 石子合并

for (int len = 2; len <= n; len ++ ) for (int l = 1; l + len - 1 <= n; l ++) f[l][r] = INF;r = l + len - 1;for (int k = l; k < r; k ++  )f[l][r] = max(f[l][r], f[l][k] + f[k + 1][r] + s[r] - s[l - 1];

AcWing 1068. 环形石子合并

for (int i = 1; i <= n; i ++ ) w[i + n] = w[i];
for (int len = 2; len <= n; len ++ ) for (int l = 1; l + len - 1 <= 2 * n; l ++) 

AcWing 320. 能量项链
AcWing 479. 加分二叉树
AcWing 1069. 凸多边形的划分
AcWing 321. 棋盘分割

树形

AcWing 285. 没有上司的舞会
AcWing 1072. 树的最长路径
AcWing 1073. 树的中心
AcWing 1075. 数字转换
AcWing 1074. 二叉苹果树
AcWing 323. 战略游戏
AcWing 1077. 皇宫看守

数位

AcWing 338. 计数问题
AcWing 1081. 度的数量
AcWing 1082. 数字游戏
AcWing 1083. Windy数
AcWing 1084. 数字游戏 II
AcWing 1085. 不要62
AcWing 1086. 恨7不成妻

计数类DP

AcWing 900. 整数划分

单调队优化

AcWing 135. 最大子序和
AcWing 1087. 修剪草坪
AcWing 1088. 旅行问题
AcWing 1089. 烽火传递
AcWing 1090. 绿色通道
AcWing 1091. 理想的正方形

斜率优化

AcWing 300. 任务安排1
AcWing 301. 任务安排2
AcWing 302. 任务安排3
AcWing 303. 运输小猫

记忆化搜索

AcWing 901. 滑雪

8 贪心

Huffman树

AcWing 148. 合并果子

排序不等式

AcWing 913. 排队打水

绝对值不等式

AcWing 104. 货仓选址

推公式

AcWing 125. 耍杂技的牛

http://www.dtcms.com/a/431844.html

相关文章:

  • 昆山做网站的公司有哪些抖音关键词排名优化软件
  • 网页制作哪里便宜seo搜索引擎推广什么意思
  • 网站维护和推广网站 锚点链接怎么做
  • 网站开发开票网站建设计划表
  • 郑州管城建设网站苏州头条新闻
  • 开发网站培训班威海市建设局网站
  • 前端-ElementPlus简介
  • 网站建设是啥安徽做手机网站
  • 南宁品牌网站建设公司杭州做商业地产开什么网站好
  • Flutter + Ollama:开启本地AI的全平台新纪元 —— 从零剖析一款现代化AI客户端的技术奥秘
  • c#网站开发框架有嵌入式开发难学吗
  • 26.简单的 CSS 粘土形态图标悬停效果
  • 十大免费自助建站网页ui素材中心下载
  • 【Python调用CANoe进行测试报告配置与统计】
  • 佛山做网站开发电脑app制作教程
  • 东莞网站建设和制作成都系统开发
  • sm2025 模拟赛5 (2025.9.13)
  • 网站建设 中关村产品设计是什么
  • C/C++ 关键关键字面试指南 (const, static, volatile, explicit)
  • 网络IO基础知识
  • 基于ollama运行27b gemma3解决ffmpeg命令生成问题
  • 银河麒麟Kylin-Server-V10
  • 昆明云南微网站搭建张家界网站建设dcwork
  • 正则表达式匹配 - 动态规划
  • Java 开发工具,最新2025 IDEA 使用
  • 动态规划 - 背包详解(下)
  • 北京小程序定制开发seo技能培训课程
  • 个人网站设计内容和要求企业做网站带来的好处
  • 关于校园图书馆网站建设公司设计图
  • 怎么样用自己电脑做网站企业注册信息查询单