模板
桂十三
这个作者很懒,什么都没留下…
展开
-
二分图最大权匹配(KM算法)模板 HDU2255
讲解链接https://www.cnblogs.com/logosG/p/logos.html#include <bits/stdc++.h>using namespace std;#define INF 0x3f3f3f3ftypedef long long ll;const int maxn = 100010;/* KM 算法*复杂度 O(nx*nx*ny)...原创 2019-10-25 18:33:29 · 316 阅读 · 0 评论 -
KMP 详解+模板
详解#include<iostream>#include<algorithm>#include <cstring>#include <string>#include<cstdio>using namespace std;int next[1000],num=0;void GetNextval(char* p, int...原创 2019-08-04 10:28:18 · 190 阅读 · 0 评论 -
最小生成树模板(Prim、Kruskal)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1863Prim#include<iostream>#include<algorithm>#include<cstring>#include<vector>#include<queue>#include<cstdio&g...原创 2019-07-31 11:00:25 · 172 阅读 · 0 评论 -
最短路模板(Dijkstra、Floyd、Bellman-Ford、SPFA)
模板测试题目:http://acm.hdu.edu.cn/showproblem.php?pid=2544Floyd#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>#define inf 0x3f3f3f3fusing namespa...原创 2019-07-31 09:25:06 · 200 阅读 · 0 评论 -
堆优化Dijkstra(优先队列)模板
题目链接:http://acm.sdibt.edu.cn/vjudge/contest/view.action?cid=2226#problem/HH -最短路Time Limit:1000MSMemory Limit:32768KB64bit IO Format:%I64d & %I64uSubmitStatusPracticeHDU 2544...原创 2019-07-30 10:26:45 · 444 阅读 · 0 评论 -
匈牙利算法(二分图的最大匹配)
超易懂讲解博客:https://blog.csdn.net/dark_scope/article/details/8880547模板:题目链接#include<iostream>#include<algorithm>#include<cstring>#include<vector>#include<queue>#in...原创 2019-03-26 16:35:08 · 203 阅读 · 2 评论 -
基础线段树——讲解+例题
线段树讲解初级https://blog.csdn.net/zearot/article/details/52280189进阶http://www.cnblogs.com/AC-King/p/7789013.html主席树(权值线段树)https://blog.csdn.net/g21wcr/article/details/829702281HDU - 1166...原创 2019-03-17 19:08:40 · 211 阅读 · 0 评论 -
改进SPFA
#include <cstdio>#include <cstdlib>#include <iostream>#include <algorithm>#include <cstring>#include <string>#include <vector>#include <queue&am原创 2019-03-15 20:58:42 · 126 阅读 · 0 评论 -
最小生成树( Prim & Kruskal ) 模板加详解
转自:https://www.cnblogs.com/aiguona/p/7223625.html最小生成树概念:一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。最小生成树其实是最小权重生成树的简称。prim:概念:普里姆算...转载 2018-11-19 18:42:41 · 266 阅读 · 0 评论 -
字典树模板题 Shortest Prefixes
Shortest PrefixesTime Limit:1000MS Memory Limit:30000KBDescriptionA prefix of a string is a substring starting at the beginning of the given string. The prefixes of "carbon" are: "c", "c...原创 2018-11-17 11:07:30 · 157 阅读 · 0 评论 -
AC自动机(HDU2222)
HDU2222#include<iostream>#include<algorithm>#include<cstring>#include<string>#include<cstdio>#include<queue>using namespace std;struct Trie{ Trie *n...原创 2019-08-04 16:15:18 · 133 阅读 · 0 评论 -
凸包(讲解+模板+例题)
凸包讲解例题POJ 2187模板#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<cmath>using namespace std;struct node{ int x,y;};node...转载 2019-07-31 16:10:16 · 841 阅读 · 1 评论 -
线段树模板
#include <algorithm>#include <iostream>#include <cstring>#include <cstdlib>#include <string>#include <cstdio>#include <vector>#include <cmath>#...原创 2019-08-05 09:20:56 · 128 阅读 · 0 评论 -
排序--归并排序
图解图解来源归并排序流程合并流程#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 101000;ll n,a[maxn],b[maxn];void cc(int l,int r){ if(l>=r) return; ...原创 2019-10-09 19:34:40 · 148 阅读 · 0 评论 -
最大流的增广路算法
讲解模板题目链接洛谷P3376模板来自算法竞赛入门经典(第2版)--刘汝佳#include <bits/stdc++.h>using namespace std;#define INF 0x3f3f3f3ftypedef long long ll;const int maxn = 100010;struct edge //记录这条边的信息{ int...原创 2019-10-08 11:08:46 · 389 阅读 · 0 评论 -
Miller-Rabbin随机性素数测试算法(POJ1811)
POJ 1181#include <iostream>#include <cstring>#include <string>#include <cstdlib>#include <cstdio>#include <map>#include <queue>#include <vector&g...转载 2019-08-16 16:27:22 · 240 阅读 · 0 评论 -
P3373 【模板】线段树 2
P3373AC代码:这里的延迟标记要开两个,分别记录加法的值和乘法的值,但是乘法和加法的优先级不一样,不规定他们的顺序的话会有错误,所以可以规定乘法优先,即规定好该结点的值等于该节点的值*父节点的乘法延迟标记的值+父节点加法延迟标记的值*区间长度,即,sum[num * 2] = (sum[num * 2] * Add[num].wc + ln * Add[num].wj) % mod;这...原创 2019-08-15 10:07:16 · 175 阅读 · 0 评论 -
RMQ模板
一维#include <iostream>#include <cstring>#include <string>#include <cstdlib>#include <cstdio>#include <map>#include <algorithm>using namespace std;t...原创 2019-08-14 15:29:03 · 139 阅读 · 0 评论 -
划分树模板
源自:kuangbin的ACM模板(新)题目链接:POJ 2104#include <iostream>#include <cstring>#include <string>#include <cstdlib>#include <cstdio>#include <map>#include <algo...原创 2019-08-14 15:06:35 · 117 阅读 · 0 评论 -
线段树求逆序对(POJ2299)
POJ2299逆序对即给定一行序列,问对于每一个数字,位于该数字前面且大于该数字的共有多少个。事实上,我们可以建立一个哈希表,把输入的数字全部统计进去,每计算一个数字的逆序数时,统计该数字后面的值之和,例如:5 3 7 4 1建立哈希表:m[1],m[3],m[4],m[5],m[7] 初始都是0现在加入5,则m[5]++,统计m[5]后面的数(m[7])之和为0加入3,则m[3...原创 2019-08-05 15:47:47 · 283 阅读 · 0 评论 -
c++ 大数加法 乘法 除法 (模板)
#include <cstdio>#include <cstring>#include <algorithm>#include <cstdlib>#include <string>#include <iostream>#include <utility>#include <cstdio原创 2018-10-16 20:46:03 · 952 阅读 · 0 评论 -
矩阵快速幂 (模板)
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn = 2;const int mod = 10000;//矩阵结构体struct Matrix{ int a[maxn][maxn]; void init()...原创 2018-10-16 19:03:40 · 129 阅读 · 0 评论 -
求约数的个数(模板)
#include <iostream>#include <set>#include <cmath>using namespace std;int main(){ int n; while(cin>>n&&n) { int ans=1; int e=2; ...原创 2018-10-06 11:06:36 · 2421 阅读 · 0 评论 -
BFS和DFS模板
BFS#include <algorithm>#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <queue>struct A{ int x,原创 2018-07-27 11:37:23 · 268 阅读 · 0 评论 -
线段树习题集(模板)
I Hate It 暑假训练7.30——(基础线段树)(B)很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管...原创 2018-07-30 16:19:24 · 198 阅读 · 0 评论 -
最短路
对四种最短路算法的总结 博客来源:转自 https://blog.csdn.net/JKdd123456/article/details/80615322大佬博客 迪杰斯特拉算法最短路的四种算法总结师哥博客(代码来源)最短路径问题介绍问题解释:从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径,称为最短路径解决问题的算法:1、迪杰斯特拉算法(Dijk...转载 2018-07-21 08:39:43 · 301 阅读 · 0 评论 -
高斯消元详解+模板
大佬讲解: https://blog.csdn.net/pengwill97/article/details/77200372 大佬模板: https://blog.csdn.net/pengwill97/article/details/77282328 https://blog.csdn.net/Akatsuki__Itachi/arti...原创 2018-07-26 15:29:24 · 1100 阅读 · 0 评论 -
基础数论(逆元,费马小定理,扩展欧几里得,中国剩余定理)(模板)
整理自:https://www.cnblogs.com/linyujun/category/784324.html首先,引入同余定理:(a + b) % p = (a%p + b%p) %p (对)(a - b) % p = (a%p - b%p) %p (对)(a * b) % p = (a%p * b%p) %p (对)(a / b) % ...原创 2018-07-20 11:45:32 · 469 阅读 · 0 评论 -
set用法详解
1.关于setC++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找等。让用户...转载 2018-07-24 15:18:33 · 7286 阅读 · 5 评论 -
map用法详解
迭代器用法map<int,int> m; //第一个为键,第二个为值 for(int i=10;i>=0;i--) // 这里是按从大到小的顺序,但是迭代器是按从小到大的顺序输出 if(i%2==0) //因为map自带按键从小到大排序 m[i]=1; map<int,int>...转载 2018-07-24 11:48:11 · 3063 阅读 · 1 评论 -
LIS LCS (最长上升子序列,最长公共子序列)
LIS 最长上升子序列#include <iostream>#include <algorithm>using namespace std;int a[1001],ans[1001],len;int main(){ int n,T; cin>>T; while(T--) { cin>&g...原创 2018-07-23 17:29:58 · 288 阅读 · 0 评论 -
去重,lower_bound(),upper_bound()
bool cmp(int a,int b){ return a<b;}int main(){ int a[10]={2,7,1,4,4,6}; sort(a,a+6,cmp); // 去重之前先排序 int m=unique(a,a+6)-a; // 去重 cout<<m<<endl; //...转载 2018-07-23 17:14:34 · 153 阅读 · 0 评论 -
树状数组(逆序对)(模板)
举个例子加以说明: 例子来源 假设给定的序列为 4 3 2 1,我们从左往右依次将给定的序列输入,每次输入一个数temp时,就将当前序列中大于temp的元素的个数计算出来,并累加到ans中,最后ans就是这个序列的逆序数个数。 序列的变化(下划线为新增加元素) 序列中大于新增加的数字的个数 操作 { }...原创 2018-07-31 11:09:00 · 246 阅读 · 0 评论 -
A Simple Problem with Integers(树状数组,改段求段)
A Simple Problem with IntegersYou have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of operation is to add some given number t...原创 2018-07-31 20:24:03 · 576 阅读 · 0 评论 -
欧拉函数(模板)
#include <iostream>#include <cmath>using namespace std;int oula(int n){ int ans=n; int i; for(i=2;i<=sqrt(n);i++) { if(n%i==0) { ans=ans...原创 2018-09-11 19:12:11 · 140 阅读 · 0 评论 -
最小树形图(朱刘算法)(poj 3164)
题目链接 ommand NetworkTime Limit: 1000MS Memory Limit: 131072K Total Submissions: 20041 Accepted: 5...原创 2018-08-08 10:10:55 · 214 阅读 · 0 评论 -
数位dp讲解(转)
转载自:传送门数位DP其实是很灵活的,所以一定不要奢求一篇文章就会遍所有数位DP的题,这一篇只能是讲清楚一种情况,其他情况遇到再总结,在不断总结中慢慢体会这个思想,以后说不定就能达到一看到题目就能灵活运用的水平。(其实DP都是这样……)这一篇要说的数位DP是一道最简单的数位DP:题目链接题目大意:多组数据,每次给定区间[n,m],求在n到m中没有“62“或“4“的数的个数。 ...转载 2018-08-03 10:53:25 · 297 阅读 · 0 评论 -
二分and三分
lower_bound(起始地址,结束地址,要查找的数值)返回大于或等于val的第一个元素位置upper_bound(起始地址,结束地址,要查找的数值)返回大于val的第一个元素位置binary_search(起始地址,结束地址,要查找的数值) 返回的是是否存在这么一个数,是一个bool值。部分转载自: https://www.cnblogs.com/whywhy/p/...原创 2018-08-04 11:06:45 · 153 阅读 · 0 评论 -
并查集(模板题)
并查集详解看这里 : https://www.cnblogs.com/-new/p/6662301.html D - 畅通工程 Time Limit:2000MS ...原创 2018-08-02 14:54:30 · 861 阅读 · 0 评论 -
POJ1330-LCA最近公共祖先(Tarjan算法模板代码)
转自:https://blog.csdn.net/Akatsuki__Itachi/article/details/81279173题目链接 poj1330关于LCA的Tarjan算法详解可看https://blog.csdn.net/Septembre_/article/details/81355594以下是根据算法自行写的模板代码:#include<io...原创 2018-08-02 11:18:32 · 209 阅读 · 0 评论