算法总结
zawedx
OIer
展开
-
STL 常数测试(粗略)
vector - 手写链表 预处理log - math库log vector - 手写链表 vector和手写链表的时间对比 push_back时间如下 .. 不开O2 开O2 vector 8s 6s 手写链表 4s 4s 遍历一次的时间都是2s 详见代码 #pragma GCC optimize(2) #in...原创 2018-01-25 14:21:19 · 673 阅读 · 1 评论 -
Min_25筛代码
Sn=∑i=1nfiSn=∑i=1nfi S_n=\sum_{i=1}^nf_i Fn=∑i=1n[i为质数]fiFn=∑i=1n[i为质数]fi F_n=\sum_{i=1}^n[i为质数]f_i Sn,k=∑i=k∑j=1[n≤pj+1i](Snpji,i+1fpji+fpj+1i)+Fn−Fpk−1Sn,k=∑i=k∑j=1[n≤pij+1](Snpij,i+1fpij+fpij+1...原创 2018-01-24 18:43:21 · 1858 阅读 · 0 评论 -
线段树的特殊运用
线段树有一种用法,是用多个值域线段树实现一些操作:1、合并2、分裂【分出前k小的数3、查询K小尝试用最暴力的方法实现合并暴力实现的复杂度分析:分裂操作在线段树上的路径和查询K小的路径长度都是log n的,所以分裂和找k小的复杂度是每次严格log n的,且分裂一次最多增加log n个点合并实现方法具体如下↓void merge(root1,root2){//合并到root1上 if 两颗左子树...原创 2016-07-04 09:06:11 · 8622 阅读 · 0 评论 -
记录一下
LCT SAM FWT 2-sat tarjan缩环 Matrix-Tree Burnside,Polya 二次剩余Cipolla算法 多项式插值求值 Min_25筛 kosaraju算法 拟阵与贪心 好用的编辑器草稿纸草稿纸^{_{_{草稿纸}}}: typora 自适应辛普森积分 minHash 四边形不等式 min25阶乘模大质数 OldDriverTree(ODT) 扩展BSGS ...原创 2017-07-24 16:41:37 · 438 阅读 · 0 评论 -
最小回文分解NlogN算法
本文翻译自这篇论文 译者水平有限,如有错漏,还望指出 论文中有伪代码可以帮助理解 众所周知,字符串的border有和等差数列相关的一些性质(border group),可以参考2015年集训队论文集里的《浅谈字符串匹配的几种方法》一文,回文串的回文border也有类似的性质。 tips: 真后缀定义类似真子集 下面给出算法所用到的几个引理 引理1 令y为回文串x的后缀,y是x的bo...翻译 2018-04-12 16:34:29 · 971 阅读 · 0 评论