![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模板
AKone123456
这个作者很懒,什么都没留下…
展开
-
模板-----------------------(树同构+重心)
#include <iostream>#include <cstdio>#include <algorithm>#include <unordered_map>#include <vector>#include <map>#include <list>#include <queue>#include <cstring>#include <cstdlib>#include原创 2020-09-01 15:19:07 · 102 阅读 · 0 评论 -
强连通分量模板
解析:因为强连通分量内部每个点都可以互打,然后缩点。根据拓扑序判断每个强连通分量是否为出度为0的点,如果是代表着任何一点都可以到达这个强连通分量#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int e[N<<1],ne[N<<1],h[N<<1],idx;int low[N],dfn[N];int id[N],sz[N],cnt,scc;int n,m;boo..原创 2020-08-18 19:56:28 · 152 阅读 · 0 评论 -
二分图最大匹配(模板)
#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int n1,n2,m;int e[N],h[N],ne[N],idx;int match[N],res;bool st[N];void add(int a,int b){ e[idx]=b;ne[idx]=h[a];h[a]=idx++;}bool find(int x){ for(int i=h[x];~i;i=ne[i]) ..原创 2020-08-17 21:04:13 · 95 阅读 · 0 评论 -
染色法判定二分图--------------------------------模板(二分图染色法)
二分图:当且仅当图中不存在奇数环(环的边数是奇数)。两个集合内部都不存在连边#include<bits/stdc++.h>using namespace std;const int N=2e5+10;int e[N],ne[N],h[N],idx;int n,m;int color[N];void add(int a,int b){ e[idx]=b;ne[idx]=h[a];h[a]=idx++;}bool dfs(int u,int c){ color.原创 2020-08-06 17:25:06 · 279 阅读 · 0 评论 -
矩阵---------------------------------------------思维(二维hash模板)
解析:二维哈希模板Sp[b]-hip[a*b]+h[j]#include<bits/stdc++.h>using namespace std;typedef unsigned long long ull;const int N=1e6+1000;int n,m,a,b,q;char str[20005];ull h[3005][3005];ull p[N];ull P=131;ull get(ull f[],int l,int r){ return f[r]-f[..原创 2020-05-23 16:17:44 · 168 阅读 · 0 评论 -
树形地铁系统-----------------------思维(树的最小表示法)
解析:树的最小表示法:对于每个节点的最小表示法为子节点的最小表示法排序连接起来最终都是通过排序连接。0表示向下走,1表示向上走#include<bits/stdc++.h>using namespace std;string dfs(string &seq, int &u){ u ++ ; vector<string> seqs; while (seq[u] == '0') seqs.push_back(dfs(seq, u)...原创 2020-05-23 11:06:31 · 233 阅读 · 0 评论 -
三分法讲解---------------------------模板
先减后增有极小值,若lm<rm 且(lm对应的函数值<rm对应的函数值)那么有极小点在[left,rm] 反之在[lm,right].lm和rm的取值分别为[left,right] 的1/3 和 2/3;lm=l+(r-l)/3;rm=r-(r-l)/3;先增后减有极大值,若lm<rm 则极大在[lm,right] 反之在[left,rm]例题:解析:...原创 2020-04-28 23:43:54 · 262 阅读 · 0 评论 -
字符串哈希----------------------------------------模板
给定一个长度为n的字符串,再给定m个询问,每个询问包含四个整数l1,r1,l2,r2,请你判断[l1,r1]和[l2,r2]这两个区间所包含的字符串子串是否完全相同。字符串中只包含大小写英文字母和数字。输入格式第一行包含整数n和m,表示字符串长度和询问次数。第二行包含一个长度为n的字符串,字符串中只包含大小写英文字母和数字。接下来m行,每行包含四个整数l1,r1,l2,r2,表示一次询问...原创 2020-04-11 14:43:09 · 83 阅读 · 0 评论 -
约数个数/约数之和------------------------------数论(唯一分解)
给定n个正整数ai,请你输出这些数的乘积的约数个数,答案对109+7取模。输入格式第一行包含整数n。接下来n行,每行包含一个整数ai。输出格式输出一个整数,表示所给正整数的乘积的约数个数,答案需对109+7取模。数据范围1≤n≤100,1≤ai≤2∗109输入样例:3268输出样例:12解析:唯一分解定理时间复杂度:O(sqrt(N))求约数个数之和求约...原创 2020-04-08 21:03:31 · 707 阅读 · 0 评论 -
扩展中国剩余定理(EXCRT)--------------------------------------数论(模板)
解析:推导过程因为乘法会爆long long所以用int128#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef __int128 uint128;const int N=1e5+10000;ll M[N],C[N],x,y;int n;ll gcd(ll a,ll ...原创 2020-04-07 21:26:41 · 188 阅读 · 1 评论 -
线性同余方程-------------------------------数论(模板)
给定n组数据ai,bi,mi,对于每组数求出一个xi,使其满足ai∗xi≡bi(mod mi),如果无解则输出impossible。输入格式第一行包含整数n。接下来n行,每行包含一组数据ai,bi,mi。输出格式输出共n行,每组数据输出一个整数表示一个满足条件的xi,如果无解则输出impossible。每组数据结果占一行,结果可能不唯一,输出任意一个满足条件的结果均可。输出答案必须在...原创 2020-04-01 16:51:39 · 168 阅读 · 0 评论 -
扩展欧几里得算法------------------------------数论(模板)
给定n对正整数ai,bi,对于每对数,求出一组xi,yi,使其满足ai∗xi+bi∗yi=gcd(ai,bi)。输入格式第一行包含整数n。接下来n行,每行包含两个整数ai,bi。输出格式输出共n行,对于每组ai,bi,求出一组满足条件的xi,yi,每组结果占一行。本题答案不唯一,输出任意满足条件的xi,yi均可。数据范围1≤n≤105 ,1≤ai,bi≤2∗109输入样例:2...原创 2020-04-01 16:11:47 · 132 阅读 · 0 评论 -
筛法求欧拉函数-----------------------模板(数论)
给定一个正整数n,求1~n中每个数的欧拉函数之和。输入格式共一行,包含一个整数n。输出格式共一行,包含一个整数,表示1~n中每个数的欧拉函数之和。数据范围1≤n≤106输入样例:6输出样例:12#include<bits/stdc++.h>using namespace std;const int N=1e6+1000;typedef long long l...原创 2020-04-01 15:31:34 · 122 阅读 · 0 评论 -
筛质数-------------------------------数论(模板)
给定一个正整数n,请你求出1~n中质数的个数。输入格式共一行,包含整数n。输出格式共一行,包含一个整数,表示1~n中质数的个数。数据范围1≤n≤106输入样例:8输出样例:4时间复杂度: O(nlogn)#include<bits/stdc++.h>using namespace std;const int N=1e6+10000;int prime[N]...原创 2020-03-30 15:08:48 · 138 阅读 · 0 评论 -
问题 A: 统计-----------------------------------------------思维(离散+二分)模板
题目描述给定n个数,有m个询问。每次询问, Alice想知道区间内[l, r]内是否出现过xi这个数。输入第一行一个整数n。第二行n个正整数ai。第三行一个整数m。接下来m行每行三个整数li, ri和xi, 表示询问区间为[li, ri], 询问数字为xi。输出对于每个询问,输出一个字符。‘0’表示没出现,‘1’表示出现了。样例输入 Copy51234567 666666 3...原创 2020-03-29 10:00:48 · 358 阅读 · 0 评论 -
树型DP 战略游戏II----------------------------树形dp(状态机)
第二天叫醒我的不是闹钟,是梦想! 题目描述Bob 喜欢玩电脑游戏,特别是战略游戏。但是他经常无法找到快速玩过游戏的方法。现在他有个问题。现在他有座古城堡,古城堡的路形成一棵树。他要在这棵树的节点上放置最少树木的士兵,使得这些士兵能够瞭望到所有的路。注意:某个士兵在一个节点上时,与该节点相连的所有边都将能被瞭望到。请你编一个程序,给定一棵树,帮 Bob 计算出他最少要放置的士兵数。输入...原创 2019-11-23 10:17:15 · 162 阅读 · 0 评论 -
【树型DP】二叉苹果树--------------------------------------dp
第二天叫醒我的不是闹钟,是梦想! 题目描述有一棵二叉苹果树,如果数字有分叉,一定是分两叉,即没有只有一个儿子的节点。这棵树共N个节点,标号1至N,树根编号一定为1。我们用一根树枝两端连接的节点编号描述一根树枝的位置。一棵有四根树枝的苹果树,因为树枝太多了,需要剪枝。但是一些树枝上长有苹果,给定需要保留的树枝数量,求最多能留住多少苹果。输入第一行两个数N和Q,N表示树的节点数,Q表示要保...原创 2019-11-22 22:00:29 · 153 阅读 · 0 评论 -
树的最长路径-------------------------树形dp
第二天叫醒我的不是闹钟,是梦想! 给定一棵树,树中包含 n 个结点(编号1~n)和 n−1 条无向边,每条边都有一个权值。现在请你找到树中的一条最长路径。换句话说,要找到一条路径,使得使得路径两端的点的距离最远。注意:路径中可以只包含一个点。输入格式第一行包含整数 n。接下来 n−1 行,每行包含三个整数 ai,bi,ci,表示点 ai 和 bi 之间存在一条权值为 ci 的边。...原创 2019-11-22 17:19:42 · 179 阅读 · 0 评论 -
最小圆覆盖(模板)------------------------------------模板
题目描述Given are N points (xi,yi) in a two-dimensional plane.Find the minimum radius of a circle such that all the points are inside or on it.Constraints·2≤N≤50·0≤xi≤1000·0≤yi≤1000··The given N po...原创 2020-02-26 23:32:23 · 162 阅读 · 0 评论