![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
一些(玄学的)知识
文章平均质量分 74
dogeding
地表最辣鸡的咸鱼 没有之一 OVO
展开
-
manacher
manacher一般是用来处理回文子串的,通过一些处理将时间复杂度从O(n3)O(n^3)O(n3)或者O(n2)O(n^2)O(n2)降至O(n)O(n)O(n)。 我们都知道,找奇数长度的回文串是容易的,只需要确定中间的字符并往两边扩展即可。 于是就可以在原字符串的两个字符之间插入一个原字符串中不可能出现的字符,例如:abcba→#a#b#c#b#a#,abba→#a#b#b#a#,长度就变成了2l+1。 那么用p[i]存储以i为中心的最长回文串的半径(理解成包括中间字符或者是保证回文的最远一位的右边一原创 2020-12-18 10:28:04 · 118 阅读 · 0 评论 -
置换群
群的概念 给定集合GGG和GGG上的二元运算“ ⋅·· ”,如满足下列条件,称集合GGG(在运算“ ⋅·· ” 之下)为一个群。 (a) 封闭性:若a,b∈Ga,b∈Ga,b∈G,则存在c∈Gc∈Gc∈G,使得a⋅b=ca·b=ca·b=c; (b) 结合律:任意a,b,c∈Ga,b,c∈Ga,b,c∈G,有(a⋅b)⋅c=a⋅(b⋅c)(a·b)·c=a·(b·c)(a·b)...原创 2018-09-05 22:37:02 · 1912 阅读 · 1 评论 -
最短路&差分约束
很久以前还有过一篇floyd和dijkstra的东西虽然写得丑也放上来吧 floyd 多源最短路,k要放在外面。 for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) dist[i][j]=min(dist[i][j],dist[i][k原创 2018-08-30 09:56:33 · 155 阅读 · 0 评论 -
LCT(link cut tree)
维护一个包含N个点的森林, 并且支持形态和权值信息的操作。 以上一句话大概可以描述LCT的用途。 再看一些不知道有多大用处的概念。 一个结点可能“偏好(prefer)”某个儿子,使它成为“优先儿子(preferred child)”。 优先儿子与它父亲之间的边称为“优先边(preferred edge)”。 仅由优先边组成的路径称为“优先路径(preferred p...原创 2018-09-01 17:17:43 · 402 阅读 · 0 评论 -
最小生成树
0.定义 给定一个无向图,如果它的某个子图中任意两个顶点都互相连通并且是一棵树,那么这棵树就叫做生成树。如果边上有权值,那么使得边权和最小的生成树叫做最小生成树(MST)。 1.Prim 假定生成树中最开始只有一个点。然后每次寻找离生成树最近的点,加入生成树。不断进行操作,就可以得到一棵最小生成树了。 如何寻找?可以维护每个点离生成树的距离,加入顶点u时只需查看与u相连的边就行了。...原创 2018-02-13 11:10:38 · 178 阅读 · 0 评论 -
poj-3061-Subsequence & 尺取法
1.尺取法定义 尺取法通常是指对数组保存一对下标(起点、终点),然后根据实际情况交替推进两个端点直到得出答案的方法。 2.poj3061 A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S ...原创 2018-02-12 10:57:44 · 203 阅读 · 0 评论 -
二分答案
0.定义 二分搜索法,是通过不断缩小解可能存在的范围,从而求得问题最优解的方法。 1.查找值 在一个有序的数组中查找一个值。 因为有序,所以可以二分。 这里就找了自己十几天前打的一个求有序序列的上界的代码。 大致是这样的:取出中间的数,如果大于要查找的值,答案就在左边,否则在右边。这样每次查找都可以把范围缩小一半。所以时间复杂度就是O(log n)了。 int L...原创 2018-02-11 22:12:41 · 447 阅读 · 0 评论 -
dp
dp啊..本蒟蒻从初二学到现在都没学好的东西啊QAQ 然后就先做这么点总结吧,留的坑再慢慢填上来emmm。 持续烂尾。原创 2017-12-14 14:15:26 · 238 阅读 · 0 评论 -
(1668): 割点和割边
这就是一道裸题啊23333 时间限制: 1 Sec 内存限制: 64 MB 题目描述 给出一个无向连通图, 求出所有割点与割边的数量。 输入 第1行: 2个整数N,M (1 <= N <= 5,000,N-1 <= M <= 10,000),分别表示顶点数和边数 接下来M行,每行2个整数,表示图中的一条边。 输出 第1行:1个整数,表示割点数 第2...原创 2017-09-09 22:02:50 · 371 阅读 · 0 评论 -
2-sat
简单概括一下2-sat: 给定一个布尔方程判断是否存在一组变量的真值指派是方程为真。特别地,求解形如(a∨b)∧(c∨d)∧...的方程为2-sat。 How to? 把每一个(a∨b)改写为(!a=>b∧!b=>a)的样子(...你们凑合着看吧,那个=>是蕴涵的意思),然后根据蕴涵的关系连边,再求一发强连通分量,如果a和!a在同一个强连通分量就无解,否则:若x所在强...原创 2017-09-23 23:01:34 · 202 阅读 · 0 评论 -
强连通分量
先说一下强连通分量是个什么鬼吧。 说白了,就是在有向图的子图中任意两个点A B,A可以到B且 B可以到A就是强连通分量了。 原谅我的语文差到措辞措到没逻辑 我就说一下我常用的两种算法吧...代码丑什么的请见谅。 Tarjan:(具体内容请见上一篇blog中间部分【又懒得给链接】) ...说白了就是缩点..??? QAQ解释不清楚直接给代码算了_(:з」∠)_ vo...原创 2017-09-23 21:14:56 · 168 阅读 · 0 评论 -
莫比乌斯反演&线性筛
(部分内容来源:PoPoQQQ) 有一个函数,。 这个F(n)是好求的对吧。但是f(n)....如果只用F()来表达的话似乎就不好表达了_(:з」∠)_ 而且就看一眼真的很难看出规律好伐! 于是,拯(fei)救(chang)苍(e)生(xin)的莫(meng)比乌斯反演就被用来拯(e)救(xin)我们了..... 是这样的,如果有一个上面这样的函数,那么....... Wait!这东西...原创 2017-07-11 19:58:16 · 404 阅读 · 0 评论 -
数位dp
【what is 数位dp? 说白了,就是为了解决一类与数位有关的区间统计问题,无法暴力求解,只能在数位上进行操作。而这样往往需要做一些预处理,于是就用到了这东西。 【how to? 从高到低枚举第一次<n对应位,之后的位就可以从0...0~9...9了,预处理后就可以直接统计了。 看起来很简单可是蒟蒻如我只AC了3道.......... 以hdu2089为例【我知道代码很丑你们将...原创 2017-07-11 18:56:05 · 80 阅读 · 0 评论