模版
nymph181
这个作者很懒,什么都没留下…
展开
-
【最近公共祖先】洛谷_3379 最近公共祖先(LCA)
题意 给出一个树,有m次询问,求出这两个节点的最近公共祖先。 思路 用倍增的方法。先让两个节点的深度相同,然后每次一起跳,就能得到答案了。 代码 #include<cmath> #include<queue> #include<cstdio> #include&a原创 2018-08-14 10:42:17 · 242 阅读 · 0 评论 -
【快速幂】洛谷_1226 快速幂||取余运算
题意 给出a,b,p三个数,求ababa^{b}对ppp取余的结果。 思路 我们在快速幂里加上取余运算就好了。 代码 #include<cstdio> long long a,b,p; long long calc(long long a,long long b,long long p) { long long r=原创 2018-08-13 09:09:50 · 319 阅读 · 0 评论 -
【HASH、C++STL MAP】洛谷_3370 字符串哈希
题意 给出一些字符串,求出其中不相同的有几个。 思路 我们可以用hash表或者C++STL中自带的map库,但前者比后者快,这里我两种方法都做了。 代码 hash #include<cstdio> #include<cstring> #include<iostream&gt原创 2018-08-16 14:56:09 · 434 阅读 · 0 评论 -
【最短路】洛谷_4779 单源最短路径(标准版)
题意 给定一个NNN个点MMM条边的有向图,起点是SSS,求出起点到每个点的最短路 思路 堆优化过后的dijkstradijkstradijkstra算法。 代码 #include<queue> #include<cstdio> #include<cstring> using namespace std; priority_queue<...原创 2018-09-17 12:12:41 · 400 阅读 · 0 评论 -
【矩阵乘法 模版】洛谷_3390 矩阵快速幂
题意 给出一个矩阵AAA,求出AkA^kAk。 思路 因为矩阵乘法满足结合律,所以结合快速幂的方法可以快速求出答案。 代码 #include<cstdio> #include<cstring> const int mod = 1e9 + 7; int N; long long K; struct matrix{ int a[101][101]; }result, a; ...原创 2018-12-07 21:40:29 · 210 阅读 · 0 评论 -
【矩阵乘法 模版】洛谷_1939 矩阵加速(数列)
题意 给出一个序列AAA,我们知道: A1=A2=A3=1A_1=A_2=A_3=1A1=A2=A3=1 AN=AN−1+AN−3A_N=A_{N-1}+A_{N-3}AN=AN−1+AN−3 有TTT次询问,求ANA_NAN。 思路 我们可以设一个矩阵AAA为: [AN−3AN−2AN−1]\begin{bmatrix} A_{N-3}&amp;amp;A_{N-2}&amp;a...原创 2018-12-08 07:43:08 · 308 阅读 · 0 评论 -
【上下界网络流】LOJ_115 无源汇有上下界可行流
题意 这是一道模板题。 n个点,m条边,每条边e 有一个流量下界lower(e)和流量上界upper(e),求一种可行方案使得在所有点满足流量平衡条件的前提下,所有边满足流量限制。原创 2019-07-07 14:16:27 · 196 阅读 · 0 评论 -
【最大流 模板】洛谷_3376 网络最大流
题意 给出一个网络图,求出从它的最大流。 思路 我这里用的是dinic算法,可以优化找增广路的时间。每次操作,我们都用残量网络建立一个分层图,然后从里面用dfs更新流量并求出答案。 代码 #include&amp;amp;amp;lt;cstdio&amp;amp;amp;gt; #include&amp;amp;amp;lt;queue&amp;amp;amp;gt; using namespace std; int h原创 2018-06-23 13:04:30 · 239 阅读 · 0 评论