摘要: 模板 kruskal(O(mlogm)) 每次找最小边,只要没有产生回路就冲! ll kru(ll st){ ll ma=0; ll mi=1e18; ll cnt=0; ll ans=0; for(int i=st;i<=m;i++){ ll ru=sr[i].x; ll rv=sr[i].y; 阅读全文
posted @ 2024-09-26 20:46 MistyPost 阅读(18) 评论(0) 推荐(0)
摘要: E.Roadblocks 阅读全文
posted @ 2024-09-26 20:05 MistyPost 阅读(8) 评论(0) 推荐(0)
摘要: 快速幂(240819) 素数筛 数论 矩阵运算(240819) 并查集 最短路(x3) 强连通分量(240821) 双联通分量、缩点、桥、割点(240821) 二分图匹配 单调队列动态规划 ST表 LCA(240822) 树状数组 线段树 哈希/字典树 链式前项星 网络流 拓扑排序 分块 各类STL 阅读全文
posted @ 2024-08-22 19:08 MistyPost 阅读(23) 评论(2) 推荐(0)
摘要: 割点割边的定义不说了。 定义 dfn 为 dfs 序,low 为该点不经过父亲并只走一次通往 dfs 序比其小的点的情况下能走到的最小的点的 dfs 序。 若 low[v]>=low[x] 则说明其儿子在不经过其的情况下无法向上,则该点为割点。 若 low[v]>low[x] 且满足不走反向边,说明 阅读全文
posted @ 2025-09-01 10:38 MistyPost 阅读(1) 评论(0) 推荐(0)
摘要: 结合pdf和 无旋Treap(FHQ Treap)理解吧,不想写了 #include<bits/stdc++.h> using namespace std; #define ll long long ll cnt;//id ll Root=0;//整颗树的根 struct tree{ ll lc,r 阅读全文
posted @ 2025-08-28 14:34 MistyPost 阅读(3) 评论(0) 推荐(0)
摘要: 最大公约数 性质 \[gcd(a,b)=gcd(b,a\%b) \]\[gcd(a,b)=gcd(a-b,b) \]求法 __gcd(a,b)或运用性质一模拟。 ExGCD 求解如 \(ax+by=gcd(a,b)\) 一类的不定方程。 裴蜀定理 对于任意非零整数 \(a,b,ax+by=c\) 有 阅读全文
posted @ 2025-08-07 15:04 MistyPost 阅读(7) 评论(0) 推荐(0)
摘要: 点分治是树上的一种算法范式,可以解决一些树上问题。 从例题来看吧: P4178 Tree 题目描述 给定一棵 \(n\) 个节点的树,每条边有边权,求出树上两点距离小于等于 \(k\) 的点对数量。 输入格式 第一行输入一个整数 \(n\),表示节点个数。 第二行到第 \(n\) 行每行输入三个整数 阅读全文
posted @ 2025-07-30 11:36 MistyPost 阅读(7) 评论(0) 推荐(0)
摘要: 大工程啊,先放个视频理解一下吧。 从视频里可以看出,这是一个可以实现多个字符串匹配的算法,复杂度大约为每次 \(O(n)\) 。 首先,我们做出一个 Trie (字典树),然后在树上连边。 视频中的虚线就是虚边,\(fail[i]\) 指已经匹配到了点 i ,然后失配,可以直接到的点。 就拿视频中的 阅读全文
posted @ 2025-07-08 16:20 MistyPost 阅读(8) 评论(0) 推荐(0)
摘要: 省流:可以快速找出回文串,复杂度 \(O(n)\) 先定义一个数组P,\(P_i\) 意为以 \(i\) 为中心的最长回文串的半径。 例如ababa,P={1,2,3,2,1}。 显然,我们为了处理边界和奇偶问题,可以在字符串之间加一点特殊字符。 例如,ababa变为!a#b#a#b#a? 。 为了 阅读全文
posted @ 2025-07-06 21:23 MistyPost 阅读(7) 评论(0) 推荐(0)
摘要: 重载运算符 struct nd{//左端点排序 ll r;//左端点 bool operator <(const nd o)const{ return r<o.r; } }; lower_bound 作用: 返回第一个 大于等于 (>=) 指定值的元素的迭代器。 如果值存在: 返回该值的第一个位置。 阅读全文
posted @ 2025-07-06 08:45 MistyPost 阅读(5) 评论(0) 推荐(0)
摘要: 字典树总结 字典树就是这样一个树。典型应用是用于统计和排序大量的字符串前缀来减少查询时。 1.根节点不包含字符,除根节点外每一个节点都只包含一个字符。 2.从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。 3.每个节点的所有子节点包含的字符都不相同。 定义一个数组来模拟这个树: 阅读全文
posted @ 2025-06-07 10:39 MistyPost 阅读(8) 评论(0) 推荐(0)
摘要: kmp算法总结 kmp算法可以以 \(O(n+m)\) 的超低复杂度来实现两个字符串的匹配功能。 我们先来定义一下 \(kmp_i\) 的意思是从 \(i\) 开始如果不能匹配的话,要跳会到哪里。 举个例子: abcabdabcc 0001201230 abcabcabc 000123456 这个k 阅读全文
posted @ 2025-06-06 10:29 MistyPost 阅读(6) 评论(0) 推荐(0)
摘要: P1368 【模板】最小表示法 题目描述 现在要做一个由方块构成的长条工艺品。但是方块现在是乱的,而且由于机器的要求,他们只能做到把这个工艺品最左边的方块放到最右边。 他们想,在仅这一个操作下,最漂亮的工艺品能多漂亮。 两个工艺品美观的比较方法是,从头开始比较,如果第 \(i\) 个位置上方块不一样 阅读全文
posted @ 2025-06-06 10:13 MistyPost 阅读(10) 评论(0) 推荐(0)