上一页 1 ··· 49 50 51 52 53 54 55 56 57 ··· 79 下一页
摘要: 分治,考虑前一半对后一半的影响。 (和一般分治不太相同的思想是,一般分治不分谁对谁的影响,跨mid的都要统计。(全局变量统计) 而CDQ貌似要落脚到前一半对后一半的影响上,也就是贡献在后一半统计,由前一半产生。 ) 大概使用情况: 1.三维偏序 2.优化DP 3.??? 例题 [学习笔记]多维偏序 阅读全文
posted @ 2018-11-23 20:32 *Miracle* 阅读(213) 评论(0) 推荐(0)
摘要: 说白了,就是在一个树形数据结构上,每个点不再是一个节点,而是另外一个树形数据结构。 空间时间复杂度大多数都是O(nlogn) 线段树套平衡树 许多树套树都可以用线段树套平衡树解决。 空间O(nlogn)是很可观的。 各种区间找值的问题,可以游刃有余解决。 (虽然常数比较大) 例如模板: 【模板】二逼 阅读全文
posted @ 2018-11-23 17:12 *Miracle* 阅读(674) 评论(0) 推荐(0)
摘要: 可持久化:支持查询历史版本和在历史版本上修改 可持久化数组 主席树做即可。 【模板】可持久化数组(可持久化线段树/平衡树) 可持久化并查集 可持久化并查集 主席树做即可。 要按秩合并。(路径压缩每次建logn条链,会卡爆空间MLE) 主席树节点,维护father(是一个真实下标),维护dep(集合的 阅读全文
posted @ 2018-11-23 12:12 *Miracle* 阅读(376) 评论(0) 推荐(0)
摘要: 解决涉及子集配凑的卷积问题 一、介绍 1.基本用法 FWT快速沃尔什变换学习笔记 就是解决一类问题: $f[k]=\sum_{i\oplus j=k}a[i]*b[j]$基本思想和FFT类似。首先转化成为另一个多项式$FWT(A),FWT(B)$使得:$FWT(A\oplus B)=FWT(A)×F 阅读全文
posted @ 2018-11-22 15:49 *Miracle* 阅读(1393) 评论(0) 推荐(0)
摘要: 先要学会FFT[学习笔记]FFT——快速傅里叶变换 一、简介 FFT会爆精度。而且浮点数相乘常数比取模还大。 然后NTT横空出世了 虽然单位根是个好东西。但是,我们还有更好的东西我们先选择一个模数,$const\space int\space p=998244353$设g为p的单位根。这里就是3那么 阅读全文
posted @ 2018-11-21 20:26 *Miracle* 阅读(1299) 评论(0) 推荐(0)
摘要: 大力推荐博客: 傅里叶变换(FFT)学习笔记 一、多项式乘法: 我们要明白的是:FFT利用分治,处理多项式乘法,达到O(nlogn)的复杂度。(虽然常数大)FFT=DFT+IDFTDFT:本质是把多项式的系数表达转化为点值表达。因为点值表达,y可以直接相乘。点值表达下相乘的复杂度是O(n)的。我们分 阅读全文
posted @ 2018-11-21 12:09 *Miracle* 阅读(495) 评论(0) 推荐(0)
摘要: 阶&&原根性质: http://www.cnblogs.com/cytus/p/9296661.html 我们不管阶。 对于一个数m,若对于所有的i,$1<=i<=\phi_m$整数a满足$a^i mod\space m$的值是小于m和m互质的$\phi(m)$个数的排列,那么,a是m的一个原根一般 阅读全文
posted @ 2018-11-20 15:52 *Miracle* 阅读(357) 评论(0) 推荐(0)
摘要: 解决大部分字符串问题的大杀器 给一下clj课件:戳我 SAM是一个博大精深的算法。虽然没有像网络流家族,Tarjan家族一样拉帮结派,但是自身包含很多方法。 一、前言 字符串常见问题:各种匹配 1.LCP 2.子串匹配 3.模式串和主串匹配 4.回文串?也算匹配吧。。。 经典例子: 给两个串,求最长 阅读全文
posted @ 2018-11-17 17:12 *Miracle* 阅读(339) 评论(0) 推荐(1)
摘要: 参考: 后缀数组 最详细讲解 上面一篇是转载这一篇的: 后缀数组 学习笔记 一、 后缀:suff(i),后缀要排序 sa[i],排名为i的后缀开始位置 rk[i],i开始位置的后缀的排名。 rk[sa[i]]=i,sa[rk[i]]=i 后缀要排序。 暴力排序:O(n^2logn) 可以利用倍增+基 阅读全文
posted @ 2018-11-15 15:26 *Miracle* 阅读(289) 评论(3) 推荐(0)
摘要: 题目描述 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。 两行,两个字符串s1,s2,长度分别为n1,n2。1 <=n1, n2<= 200000,字符串中只有小写字母 题解: s1'#'s2拼起来。 求height 要求 阅读全文
posted @ 2018-11-15 15:25 *Miracle* 阅读(303) 评论(0) 推荐(0)
上一页 1 ··· 49 50 51 52 53 54 55 56 57 ··· 79 下一页