11 2023 档案

有向图求强连通分量的几种算法
摘要:概要 本文介绍了kosaraju, tarjan算法求强连通分量 概念 有一个有向图G, 有几个概念 强连通 若图中有两个点u和v, 他们能互相到达, 则称他们强连通 强连通图 若是G中任意2个点都可以互相到达, 则称G是一个强连通图 强连通分量 有向非强连通图的极大强连通子图(可以有很多个) 完全 阅读全文

posted @ 2023-11-28 19:49 tianlonghuangwu 阅读(225) 评论(0) 推荐(0) 编辑

关于树和图的各种序
摘要:下面讲序的时候用的图 括号里是应用的场景, 不一定只能应用于相应的场景, 但是我个人觉得遇到比较多, 而且比较合理 下面的例子用这个树 然后用这个图 欧拉序(树) dfs序指的就是dfs过程中访问到的节点的顺序 每个节点访问和离开的时候都会记录一下 所以每个非叶子节点会在dfs序上出现2次 欧拉序: 阅读全文

posted @ 2023-11-28 17:31 tianlonghuangwu 阅读(23) 评论(0) 推荐(0) 编辑

KMP与自动机
摘要:KMP 与 AC自动机 都是字符串匹配 KMP是单模匹配 ac自动机是多模匹配 KMP原理 例子 当我们匹配字符串A(长度为n)中是否有B(长度为m, m<n)的时候 比如: A ABCDABCDEF B ABCDE 一个朴素的思路是暴力, 复杂度当然是O(n * m) KMP就是一个优化的算法 K 阅读全文

posted @ 2023-11-23 20:48 tianlonghuangwu 阅读(150) 评论(0) 推荐(0) 编辑

字符串hash相关
摘要:哈希 c++里常用的hash是map和unordered_map 前者是平衡树实现的, O(logn)的插入和搜索, 后者是O(1)的插入和搜索 但是前者有序, 后者无序 本文讲的是后者 关于实现 基本类型可以视所需空间大小选择不同的hash办法 而我着重讲一下字符串的hash 在字符串hash里 阅读全文

posted @ 2023-11-23 15:38 tianlonghuangwu 阅读(11) 评论(0) 推荐(0) 编辑

之后的一些计划
摘要:数据结构 待写 vector 平衡树(splay, treap, AVL树) Link-Cut-Tree 树套树 不想写 heap 红黑树 舞蹈链DLX 主席树 已写 kdtree hash 算法 待写 manacher 树上启发式合并 cdq分治 容斥 不想写 莫队 已写 逆元 KMP 拓扑排序 阅读全文

posted @ 2023-11-22 21:01 tianlonghuangwu 阅读(8) 评论(0) 推荐(0) 编辑

kd-tree
摘要:k dimensional tree 用途 用于多维空间的搜索查询 (比如地图地理空间, 甚至搜索引擎多属性) 本质上是一颗二叉树, 里面的每个节点代表了一个矩形区域的切割 复杂度 首先平衡和不平衡的kdtree复杂度不一样, 不平衡的kdtree指的是所有的点都在同一侧, 以至于复杂度退化到了O( 阅读全文

posted @ 2023-11-22 20:41 tianlonghuangwu 阅读(32) 评论(0) 推荐(0) 编辑

乘法模运算逆元
摘要:逆元 (Multiplicative Inverse) 逆元是在特定运算下的"反转" 举几个例子 加法 a的加法逆元就是-a, 它们相加为0 乘法逆元 a的乘法逆元是1/a, 它们相乘为1 矩阵乘法 矩阵的逆元是逆矩阵, 它们相乘为单位矩阵 有人会问了, 为什么它们运算结果并不一样呢? 他们的共性在 阅读全文

posted @ 2023-11-21 20:23 tianlonghuangwu 阅读(61) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示