摘要: STL整理 vector #include<bits/stdc++.h> #define go(i,a,b) for(int i=a;i<b;i++) using namespace std; vector<int>b(10,1);//赋初值,10个元素全为1 int main() { cout<< 阅读全文
posted @ 2019-07-24 20:35 EPs1l0h 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 数论总结 欧拉筛 数论总结 欧拉筛 核心思想:对于每个合数,都用其最小质因子筛去,故复杂度O(n) code: 关于这句话: 当prime[j]成为i的素因子时,那么i*prime[j]一定可以表现为一个更小的素因子和一个更大的合数的乘积,在后面一定会被筛去,因此这里直接关闭。 欧拉函数 欧拉函数 阅读全文
posted @ 2019-07-23 20:10 EPs1l0h 阅读(299) 评论(1) 推荐(0) 编辑
摘要: 组合数学 公式 组合数学 公式 (二项式定理) O(n)预处理,O(1)求组合数预处理阶乘fac数组。 O(n)预处理,O(1)求组合数预处理阶乘fac数组。 预处理fac数组,需取模,则需处理出ifac(阶乘逆元)。 code: 然后用套公式即可。 Lucas定理 Lucas定理 核心: Luca 阅读全文
posted @ 2019-07-23 19:43 EPs1l0h 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 字符串算法总结 AC自动机(AC_automation) AC自动机(AC_automation) AC自动机处理的是多模式串的匹配问题。 前置知识:trie和kmp(虽然并不是真正的kmp算法) 组件:trie树,fail失配指针,e标记字符串结尾。 注意:fail记录的是相同后缀,前缀可以不同。 阅读全文
posted @ 2019-06-22 15:22 EPs1l0h 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 数据结构总结 堆(优先队列) 堆(优先队列) 黑匣子 开一个大根堆,一个小根堆,保证大根堆的元素个数为查询的i-1,输出小根堆的堆顶即可。如果插入的数a[j]比大根堆堆顶小,则把大根堆堆顶放到小根堆,a[j]放到大根堆里,保证大根堆里的最大值小于小根堆里的最小值。查询时把小根堆的堆顶放到大根堆里,使 阅读全文
posted @ 2019-06-20 23:06 EPs1l0h 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 离线算法——CDQ分治 CDQ (SHY)显然是一个人的名字,陈丹琪(MM)(NOI2008金牌女选手)。 从归并开始(这里并没有从逆序对开始,是想直接引入分治思想,而不是引入处理对象) 从归并开始(这里并没有从逆序对开始,是想直接引入分治思想,而不是引入处理对象) 一个很简单的归并排序:一个乱序的 阅读全文
posted @ 2019-06-17 01:30 EPs1l0h 阅读(2661) 评论(0) 推荐(0) 编辑
摘要: 网络流(学习笔记) (PS:本文纯粹复习使用,对于想看图的童鞋不是很友好) 我们想象一下自来水厂到你家的水管网是一个复杂的有向图,每一节水管都有一个最大承载流量。自来水厂不放水,你家就断水了。但是就算自来水厂拼命的往管网里面注水,你家收到的水流量也是上限(毕竟每根水管承载量有限)。你想知道你能够拿到 阅读全文
posted @ 2019-06-01 01:27 EPs1l0h 阅读(229) 评论(2) 推荐(0) 编辑