模板
文章平均质量分 55
Lcomyn
这个作者很懒,什么都没留下…
展开
-
扩展欧几里德与中国剩余定理学习笔记&&模版
蒟蒻这几天比较闲,于是自学了早就学了很久的扩欧与中国剩余定理。。。。。。--------------------------------------------------------------------------------------------------------------扩展欧几里德----------------------------------------------原创 2014-12-02 18:58:39 · 867 阅读 · 0 评论 -
区间相关值问题
这是一篇奇怪向的总结== 区间max,区间和。。。线段树直接搞 区间中位数,树套树或许可以但或许不优。。。 区间mex(无修改):首先[1,x],1≤x≤n[1,x],1 \le x \le n单调扫一遍即可, 同时处理出该位置上的数下一次出现位置,记为next[i]next[i] 然后我们对询问排序,考虑ii上数对后面数的影响,即为[i,next[i]−1][i,next[i]-1]上m原创 2015-10-22 17:18:34 · 699 阅读 · 0 评论 -
AC自动机学习记录
学完了Trie树和KMP算法,我们就可以继续学习AC自动机了。。。AC自动机,全名Aho-Chorasick string match(不是所有题都可以AC的意思= =,否则OI比赛还有什么意义),由于多模板的字符串匹配,其基本做法是在Trie树上建立fail指针(基本相当于KMP算法中next数组),然后在Trie上进行KMP即可,不多说了,直接上习题。COGS 1913 AC自动机的裸原创 2015-04-29 19:44:18 · 783 阅读 · 0 评论 -
KMP算法学习笔记
KMP是一种字符串匹配算法,网上有许多的讲解和介绍,都非常清楚明白,这里只说明一点next[i]表示[1,i-1]位中的最长公共前缀后缀,因此在遇到字符不匹配时,直接将字符串右移j-next[j]位即可。不多说了,直接上习题POJ 3461 Oulipo KMP算法裸题,直接上模板 code:#include#include#includeusing namespace std;cha原创 2015-04-25 16:54:24 · 712 阅读 · 0 评论 -
Trie树模板
#include#include#includeusing namespace std;struct trie_node{ char letter; int sum; bool f; trie_node *next[26]; trie_node(char letter): letter(letter) {int i;for (i=0;i<=25;++i) next[i]=NULL;原创 2015-04-22 19:50:06 · 612 阅读 · 0 评论 -
主席树学习记录
搞了一段时间网络流后,最后还是回到了数据结构。。。主席树,引fotile主席的一段话:..这个东西是当初我弱不会划分树的时候写出来替代的一个玩意..被一小撮别有用心的人取了很奇怪的名字> 想法是对原序列的每一个前缀[1..i]建立出一颗线段树维护值域上每个数的出现次数,然后发现这样的树是可以减的,然后就没有然后了其实是一种比较好理解的数据结构(至少静态查找时是如此),我们对于每原创 2015-03-18 20:36:45 · 860 阅读 · 1 评论 -
网络流&&费用流模板
网络流模板原创 2015-02-08 16:42:53 · 966 阅读 · 1 评论 -
Treap模版
为了准备省选,终于学了平衡树(Treap),晚上的资源很多,这里只对Treap做一些简单介绍顾名思义Treap=tree+heap,具体来说就是节点的value值是一棵二叉查找树,fix值是一个小根堆。由于fix是随机分配的,可以看作Treap是随机平衡的。经过严格的数学证明,可以证明时间复杂度为O(lgn),这里不再给出。每在BST中加入一个节点,就随机分配一个fix值,如果此时不满足最原创 2015-01-10 13:54:35 · 1081 阅读 · 0 评论 -
双向广搜(DBFS)
双向广搜很早之前就像学习,但蒟蒻这道今天才会写(汗。。。)-------------------------------------------------------------------------------------------------------------------------------------------------------------------------原创 2015-01-03 09:50:57 · 3373 阅读 · 1 评论 -
最小路径覆盖问题
题目参考 COGS 728【网络流24题】最小路径覆盖问题。。。大意是给你一个有向图,要求你使每一个点在且仅在一条路径上,如果路径总数最少,则这个方案成为最小路径覆盖。1、网络流解法既然是网络流24题,我们首先考虑一下网络流的做法。参考SDOI 星际竞速,我们把每个点拆为两个点,源点向第一排点连边,汇点向第二排点两边,原图中的边由第一排点向第二排点连,跑一遍最大流,点数减去流量maxf原创 2015-03-15 21:12:04 · 578 阅读 · 0 评论 -
fhq Treap模板
#include#include#include#include#includeusing namespace std;struct treap_node{ treap_node *left,*right; int wgt,size,fix; char val; treap_node(char val): val(val) {left=right=NULL; size=wgt=1原创 2015-02-08 14:53:24 · 1400 阅读 · 1 评论 -
线段树模板
区间更新,区间查询(单点更新,区间查询懒得写了,修改一下insert参数吧)code:#include #include#includeusing namespace std;struct hp{ long long value;}node[800001];int n,m;long long ans;long long a[200001]={0},delta[2000001]原创 2015-02-08 15:01:54 · 682 阅读 · 0 评论 -
莫比乌斯反演学习笔记
莫比乌斯反演,之前做过一些题,一直没有太理解,膜了下faebdc学长的姿势,终于搞懂了一些。 首先我们有两个式子: 1:∑d|nϕ(d)=n\sum_{d|n} \phi(d)=n2:∑d|nμ(d)=e(n)\sum_{d|n} \mu(d)=e(n) 1式证明:对于nn的质因数xx对ϕ(n)\phi(n)贡献了(x−1)∗xt−1(x-1)*x^{t-1} 单独对于xx而言约数可以为x0原创 2015-08-04 20:07:04 · 1628 阅读 · 1 评论