模板
~KIKI~
这个作者很懒,什么都没留下…
展开
-
ac自动机模板及例题
结构体及初始化struct node{ int next[30]; int idx, fail, cnt; //idx表示输入的第几个字符串的终止位置,fail是失配指针,cnt存该字符串出现的次数 void clear(){ //清空 memset(next, 0, sizeof(next)); idx = 0, fail = -1, cnt = 0; }}t[maxn];int tot; //指针int cnt[maxn].原创 2021-03-13 22:33:57 · 201 阅读 · 0 评论 -
二分图最大匹配——匈牙利算法(附板子)
二分图定义:将图的点分成两个集合,且每个集合内部不能有边相连,图上每条边的两端都分别来自两个集合,总之,就是每条边的两端不会来自同一个集合。这样的图称之为二分图。如何判断二分图?首先,判断该图点集能否被分成两个独立的点集。 图G为二分图的充要条件是G中的每一个环的长度都是偶数,即不存在奇数环。二分图最大匹配:给定一个二分图G,在G的一个子图M中,M的边集中的任意两条边都不依附于同一个顶点,则称M是一个匹配. 选择这样的边数最大的子集称为图的最大匹配问题(maximal ma原创 2020-07-31 21:47:00 · 460 阅读 · 0 评论 -
P1481 魔族密码 (字典树 模板)
题目链接:https://www.luogu.com.cn/problem/P1481题意给你n个单词。 如果在一个由一个词或多个词组成的表中,除了最后一个以外,每个单词都被其后的一个单词所包含,即前一个单词是后一个单词的前缀,则称词表为一个词链。 求最长词链所包含的单词数。思路字典树模板题。 插入完了过后求一下经过的总的字符串个数,并更新其最大值AC代码数组篇#include<bits/stdc++.h>using namespace std;const i原创 2020-08-07 19:15:26 · 229 阅读 · 0 评论 -
欧拉降幂 模板
欧拉降幂用来求解 a^b % mod问题求解方法 :a^b%modif(b > mod) return a ^ (b % phi[mod]+ phi[mod]) % mod;else return a ^ (b % phi[mod]) % mod;//phi(欧拉函数,小于n的与其互质的个数)所以说要用到欧拉函数和快速幂。快速幂ll _pow(ll a, ll b, ll c){ ll ans = 1; while(b){ if(b &am原创 2021-02-03 22:54:56 · 187 阅读 · 0 评论 -
线段树 模板
区间查询最值,区间和#include<bits/stdc++.h>using namespace std;#define io cin.tie(0);ios::sync_with_stdio(false);#define debug(x) cout<<#x<<"="<<x<<endl#define lowbit(x) x&(-x)#define pii pair<int,int>#define mk make_原创 2021-02-05 22:35:05 · 161 阅读 · 0 评论