摘要: 字符串哈希 哈希是什么? 把一个串或者字符映射成一串数字,再通过取模的方式来使其可以被存下 字符串哈希? 把字符串用数字的方式写出 具体的,我们可以通过把字符串变成一个k进制数,最后通过取余实现 P3370 【模板】字符串哈希 #include<bits/stdc++.h> #define int 阅读全文
posted @ 2024-09-18 09:46 lmy333 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 数据结构 栈 栈,一种基本的先进后出的线性数据结构,手写栈一般有一个指针指向栈顶元素。 STL中有个容器叫stack,支持一些功能 push,将元素放置在栈顶; top(),输出栈顶元素 pop(),弹出栈顶元素 size(),访问栈中元素 clear,清空 详细操作可以见栈 手写栈 可以用数组模拟 阅读全文
posted @ 2024-09-14 16:23 lmy333 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 数论 同余 性质 \(+\) \(-\) \(\times\) 号都可以进行边运算边取模,但是 \(\div\) 不可以,需要使用逆元。 所以可知 模运算满足: 结合律,交换律,分配律 。 若 \(a\) , \(b\) 除以 \(m\) 的余数相同, 那么就称 \(a\) , \(b\) 模 \( 阅读全文
posted @ 2024-09-13 08:11 lmy333 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 图论 连通性 什么是连通? 任意两点之间有路径使其相互连接。 强连通分量 若一张有向图的节点两两互相可达,则称这张图是强连通的 强连通分量是一个图的一部分是强联通的,则称这是强连通分量 怎么求? 这里给出一种方法:tarjan Tarjan 算法基于对图进行 深度优先搜索。我们视每个连通分量为搜索树 阅读全文
posted @ 2024-09-12 11:52 lmy333 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 动态规划 动态规划是一种通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 三个条件:最优子结构,无后效性和子问题重叠。 最优子结构 证明问题最优解的第一个组成部分是做出一个选择; 对于一个给定问题,在其可能的第一步选择中,假定你已经知道哪种选择才会得到最优解。你现在并不关心这种选择具体是 阅读全文
posted @ 2024-09-11 09:32 lmy333 阅读(7) 评论(0) 推荐(0) 编辑
摘要: DFS 与 BFS DFS 定义: 深度优先搜索(DFS)是一种以深入探索图的分支为目标,直到到达指定的“深度”,无法继续前进为止,然后通过回溯探索其他分支。 用途: 通过枚举的方式来遍历当前的所有状态 搜索图或者树 例如:解决迷宫问题,路径查找、检查图中是否存在环、排序问题等。 优点 空间复杂度较 阅读全文
posted @ 2024-09-10 14:11 lmy333 阅读(7) 评论(0) 推荐(0) 编辑