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

关键字匹配高效算法

前言:当问题里面出现了以下的关键字,就可以快速联想到对应高效算法


类别一:基础优化与思维
算法/数据结构关键字 / 问题模式
排序 (Sort)配对, 区间, 相邻元素, 第k大/小, 去重, 相对顺序
贪心 (Greedy)区间调度, 哈夫曼树, 最小生成树, 部分背包, 不相交
二分查找最大化最小值最小化最大值, 求满足条件的最小/最大值
双指针 (Two Pointers)滑动窗口, 连续子段/子数组, 和为定值, 字符串匹配
位运算 (Bit Manipulation)状态压缩, 集合操作, 权限判断, 求子集, 奇偶性, N<=20
前缀和/差分区间和查询, 子数组和, 二维区域和, 对区间进行统一加减
模拟 (Simulation)规则繁多,按题意操作, 日期计算, 棋盘问题
类别二:编程技巧与基础模式
技巧/模式关键字 / 问题模式
嵌套循环(for套for)二维数组/矩阵, 网格(Grid), 棋盘, 坐标(x, y), 枚举点对
递归 (Recursion)树的遍历, 分治, DFS, 排列组合生成, 斐波那契
分治归并排序, 快速排序, 快速幂, 最近点对
回溯 (Backtracking)所有方案, 组合, 排列, 子集, N皇后, 数独
记忆化搜索递归+缓存, 避免重复计算, 自顶向下DP
离散化坐标范围大但数量不多, 只关心相对大小
随机化算法求近似解, 时限非常紧, 没有确定性多项式解法
类别三:数据结构
算法/数据结构关键字 / 问题模式
栈 (Stack)括号匹配, 表达式求值, 单调栈 (找左右第一个比它大/小的数)
队列 (Queue)层序遍历 (BFS), 先进先出, 排队问题
堆 (Priority Queue)第k大/小(动态), 维护中位数, 合并果子, Dijkstra优化
哈希表快速查找, 计数, 去重, 映射关系, 两数之和
并查集连通性, 动态分组, 合并集合, 判断是否在同一集合
树状数组/线段树单点修改+区间查询, 区间修改+区间查询, 动态区间问题
字典树 (Trie)前缀查询, 字符串查找, 异或最大值
类别四:动态规划 (DP)
DP模型关键字 / 问题模式
线性DP最长上升子序列, 最大子段和, 爬楼梯, 打家劫舍
背包DPN个物品, 容量为V, 选或不选, 装满
区间DP合并石子, 括号匹配方案数, 回文串
树形DP在树上进行选择, 树的直径, 没有上司的舞会
状态压缩DPN很小(通常N<=20), 棋盘, 集合, 哈密顿路径
数位DP求[L, R]区间内满足条件的数的个数
类别五:图论与搜索
算法/数据结构关键字 / 问题模式
BFS最少步数/操作 (边权为1), 迷宫最短路, 层序遍历
DFS所有方案, 连通块数量, 找环, 拓扑排序, 暴力搜索
最短路径最短路径 (边权非1), 最小花费, Dijkstra, SPFA
最小生成树 (MST)连接所有点, 最小总代价, 修建公路, Kruskal
拓扑排序课程安排, 依赖关系, 任务顺序, 有向无环图(DAG)
强连通/双连通有向图, 任意两点可达, 缩点, 桥, 割点
类别六:字符串算法
算法/数据结构关键字 / 问题模式
字符串哈希字符串匹配, 判断子串是否相等
KMP算法单模式串匹配, 循环节, 前缀与后缀
AC自动机多模式串匹配, 敏感词过滤
Manacher算法最长回文子串
后缀数组/自动机子串相关问题, 不同子串个数, 字典序第k大
类别七:数学 |
领域关键字 / 问题模式
数论质数, GCD, 模运算, 逆元, 同余
组合数学排列组合, 方案数, 卡特兰数, 容斥原理
博弈论取石子游戏, 轮流操作, 必胜/必败
计算几何点/线/面, 凸包, 旋转卡壳, 最近点对
类别八:高级思维与技巧 
技巧/模式关键字 / 问题模式
构造题构造一个满足...的方案, 是否存在..., 给出一种解
交互题交互, 查询次数限制
贡献法求所有子区间的...总和, 期望
根号分治两种暴力, 查询/修改次数不均衡, 阈值
CDQ分治高维偏序, 动态逆序对, 带修改的区间第k大
启发式合并子树查询, 颜色统计, 离线
http://www.dtcms.com/a/569703.html

相关文章:

  • PySide6 Win10记事本从零到一——第八章 查看菜单界面与功能实现
  • Linux之arm SMMUv3 驱动重要宏和函数解析(11)
  • 网站功能介绍是什么自贡网站设计
  • 做企业网站设wordpress多媒体权限
  • CTF WEB入门 命令执行篇 50-70
  • 利用网上菜谱做网站公众号开发公司排行榜
  • 免费搭建视频网站硬件开发板
  • Mysql中页分裂、合并的问题
  • Qt 的 QSqlDatabase 不能跨线程复用
  • Qt-QtCharts
  • 某番切小说畅听红果等提示“低版本不安全”的解决方案
  • 昆明网站seo技术厂家网站设计远程培训
  • Linux基本架构
  • 任务调度框架:PowerJob、XXL-Job、OpenJob
  • 做模型挣钱的网站wordpress中英文切换
  • TensorFlow Keras
  • 萧山做网站的企业wordpress集成关注公众和登陆
  • 详解EtherNet/IP转CAN边缘计算网关:基恩士PLC与CAN IO卡通讯配置步骤
  • 网站权重的提升河北网站制作多少钱
  • .net实现redis下单超卖(jmeter高并发测试)(自己记录用)
  • 全自动壁纸采集源码
  • 公司用员工信息做网站域名备案网站建站描述撰写
  • Python类中方法种类介绍
  • AI研究:大语言模型(LLMs)需要怎样的硬件算力
  • 贵阳网站建设方案报价查企业资质上什么网站
  • Parasoft C/C++test中Trace32调试器的配置与单元测试执行
  • 基于大语言模型(LLM)的多智能体应用的新型服务框架——Tokencake
  • 单元测试(TestNG+PowerMock)
  • 哪家公司网站建设好点襄樊网站建设哪家好
  • 公司网站做推广预装wordpress主机