
算法讲解
文章平均质量分 81
Duan2baka
人
展开
-
根号类算法讲解——分块,莫队
一、分块分块算法是比较常见的根号类算法,就是把数分成块换种形式暴力先放题: 给你一个长度为n(n10510^5)的序列,有m个操作,操作涉及区间加和区间求和这个东西可以做各种数据结构的裸题,肯定被各种切掉了吧…考虑最暴力的思想,就是暴力更改统计每个区间 我们也可以将mm个元素分成一块,一共有k=n/mk=n/m块,对于区间的修改,枚举所有区间内包含的整块,将其打上加标记原创 2018-01-12 21:32:35 · 2179 阅读 · 1 评论 -
FFT算法讲解——麻麻我终于会FFT了!
FFT——快速傅里叶变换这块不写东西空荡荡的,我决定还是把FFT的定义给贴上吧 FFT(Fast Fourier Transformation)是离散傅氏变换(DFT)的快速算法。即为快速傅氏变换。它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。这三段话其实一点用也没有FFT是干什么的FFT在算法竞赛中就有一个用途:加速多项式乘法...原创 2018-03-12 17:15:19 · 153457 阅读 · 38 评论 -
AC快乐机——最最通俗易懂的AC自动机讲解!
AC快乐机众所周知,KMP是算法竞赛中常用的字符串匹配算法,该算法通过对模式串构建next数组的方式,十分有效的提高了匹配的效率。单一模式串的匹配可以构造next,那如果模式串有多个,也同样能通过构造next的方式匹配吗?Fail指针给你多个模式串,也就是给你一棵Trie,在Trie上进行匹配。假设我们有能力构建出一棵Trie的next,考虑KMP中的next的定义(指向最长的...原创 2018-06-14 09:52:51 · 4750 阅读 · 6 评论 -
根号类算法讲解——各(四)种莫队(填坑)
这个坑终于填了… 上文接这里莫队算法 这就是莫队(确信)先放个可离线的题: 可离线:给你个序列,m次询问(可离线)一段区间有多少个不同的数(可离线)(数据范围10510510^5)可离线相信各位都已经拿高效的DS秒掉了相信大家看完题目第一感觉就是离线( 考虑两次询问区间(l,r)(l,r)(l,r)和(l′,r′)(l′,r′)(l',r'),假设我们已经处理出...原创 2018-06-16 23:44:02 · 1401 阅读 · 1 评论 -
扩展Crt
好像去年这个时候我就已经看过一遍了。。但是noi的时候一点印象没有就GG了。。补知识点的时候发现自己还是不会,就稍微学了一下。。。拓展crt就是求满足的一组x做法就是假设你搞出了前k组的一个最小正整数解x,想推出前k+1的解令M=∏i=1kmiM=\prod_{i=1}^k m_iM=∏i=1kmi,然后所有x+t∗Mx+t*Mx+t∗M都是满足的,那么对于新填的一组方程x≡ak(m...原创 2018-10-03 22:16:32 · 529 阅读 · 1 评论 -
Euler-Tour Tree模板[bzoj 3786]及其讲解
Euler-Tour-TreeETT即Euler-Tour-Tree,也就是什么欧拉游览树是一种可以维护子树操作的动态树支持link,cut,单点修改,子树修改,查询点到根的信息(为什么別的不行呢?因为我不会,貌似ETT不支持换根,链操作什么的)怎么做呢?我们维护一棵树的括号序列括号序列就是一个点进栈时记录一次dfn,出栈时再记录一次dfn,就得到了一个有趣的序列括号序列有什么有...原创 2018-09-29 10:38:17 · 2946 阅读 · 1 评论 -
特别简单的noip-数论选讲
简单数论选讲声明:此课件中用这个格式的证明不必详细了解,只是为了让你更信服一、逆元因为逆元不归我讲,但是又很重要,所以在这里一笔带过一整数aaa对同余ppp之模逆元是指满足以下公式的整数bbba−1≡b(mod p)a^{-1}\equiv b(mod\ p)a−1≡b(mod p)也可以写成以下的式子ab≡1(mod p)ab\equiv 1(mo...原创 2019-07-22 23:46:25 · 258 阅读 · 0 评论