![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模板归纳
akonoh
这个作者很懒,什么都没留下…
展开
-
数论模板(1) 质数判断、线性筛、朴素欧拉函数线性筛
1.素数的判断从去年退役之后,本人重回竞赛界,开始新的人生,只是忘记的东西太多,一点点地复习吧先来说质数的判断首先,一个数是质数的充分必要条件是,除了1和本身没有其他因子,(顺便说一下1也不是素数,其实1被认为既不是素数也不是合数)。因此最最朴素的算法是枚举除了1和它本身之间的所有数,判断是否能整除。int isprime(int n){ if(n==1)return 0; for...原创 2018-11-22 20:49:03 · 292 阅读 · 2 评论 -
数据结构(1) 线性表技巧及应用:前缀和、排序(逆序对求法之一)
虽然线性表实在过于简单,几乎不会有大佬写它的应用但是作为一个菜鸡的我还是打算归纳总结一下线性表一些应用和技巧1.前缀和emmmm我们来看这样一个问题已知一个序列s[ i ] (1<=i<=n),有m个请求,每个请求为两个整数a,b(1<=a<=b<=b)求∑i=abs[i]\sum_{i=a}^bs[i]i=a∑bs[i]最朴实的求法显然是枚举s[a]...原创 2018-11-22 22:08:37 · 317 阅读 · 0 评论 -
数据结构番外篇【stl应用(1)】优先队列
stl是一种重要技巧,可以极大地简化编程过程在总结stl之前,我们先简单介绍一下迭代器。迭代器可以简单理解为地址的等价物。在不同数据类型中迭代器支持的操作略有不同其中vector使用的是随机访问迭代器,其支持的操作可以参考上述表格虽然本文用不上预备知识,但是还是先说一下吧接下来介绍常用stl——优先队列1.优先队列优先队列(英文priority_queue)是一种维护集合最大最小...原创 2018-11-24 14:05:48 · 178 阅读 · 0 评论 -
【模板归纳】网络流及费用流
首先是网络流及最小费用最大流的两种最基础算法这两种网络流算法的思想核心都是寻找增广路+沿增广路扩展新流首先是Dinic 算法使用bfs寻找增广路,记录增广路中节点层数,而在dfs中沿着层数+1的方向不断递推直到无法再找到新的增广路为止代码#include <iostream>#include <algorithm>#include <cstdio&g...原创 2018-12-26 13:50:16 · 185 阅读 · 0 评论