E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
ACM_算法模板
算法模板
の数据结构
一、平衡树 1、treap树 1 int key[MAXN], weight[MAXN], child[MAXN][2], size[MAXN]; 2 int stk[MAXN], top, poi_cnt;//not use point 3 4 inline int newNode(int k) { 5 int x = (top ? stk[top--]
·
2015-11-13 00:48
数据结构
算法模板
の计算几何
1、凸包 1 inline bool cmp(const POINT &a, const POINT &b) { 2 if(a.y == b.y) return a.x < b.x; 3 return a.y < b.y; 4 } 5 //turn left 6 inline bool Cross(POINT &s
·
2015-11-13 00:47
算法
算法模板
の数学&数论
1、求逆元 1 int inv(int a) { 2 if(a == 1) return 1; 3 return (MOD - MOD / a) * inv(MOD % a); 4 } View Code 2、线性筛法 1 bool isPrime[MAXN]; 2 int label[MAXN], prime[MAXN]; 3 int
·
2015-11-13 00:47
算法
算法模板
之图论
一、二分图 1、最大匹配数 = 最大流 = 最小割 = 最小点集覆盖 = 总点数 - 最大独立集 2、KM算法(最佳完美匹配) 1 int mat[MAXN][MAXN], slack[MAXN], Lx[MAXN], Ly[MAXN], left[MAXN]; 2 boo
·
2015-11-13 00:46
算法
算法模板
の字符串处理
1、AC自动机 1 void buildTrie(Node *root, char *str){ 2 Node *p = root; 3 for(int i = 0; str[i]; ++i){ 4 int index = str[i] - '0'; 5 if(!p->next[index]) p-&
·
2015-11-12 21:03
字符串处理
hdu 1711 Number Sequence(KMP模板题)
把两个数列分别当成KMP算法中的模式串和目标串,这道题就变成了一个KMP
算法模板
题。
·
2015-11-12 16:18
sequence
POJ 1273 Drainage Ditches【最大流EK
算法模板
题】
Description Every time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover patch. This means that the clover is covered by water for awhile and takes quite a long time to reg
·
2015-11-12 15:14
poj
Floyd判最小环
算法模板
算法思想:如果存在最小环,会在编号最大的点u更新最短路径前找到这个环,发现的方法是,更新最短路径前,遍历i,j点对,一定会发现某对i到j的最短路径长度dis[i][j]+mp[j][u]+mp[u][i] != INF,这时i,j是图中挨着u的两个点,因为在之前最短路更新过程中,u没有参与更新,所以dis[i][j]所表示的路径中不会出现u,如果成立,则一定是一个环。用Floyd算法来实现。但是对
·
2015-11-12 14:13
floyd
UESTC 919 SOUND OF DESTINY --二分图最大匹配+匈牙利算法
二分图最大匹配的匈牙利
算法模板
题。
·
2015-11-12 14:12
des
hdu 2255 奔小康赚大钱--KM
算法模板
KM
算法模板
题~ #include "stdio.h" //hdu 2255 #include "string.h"
·
2015-11-12 14:13
HDU
poj 2195 KM算法
id=2195 KM
算法模板
~ 代码如下: #include "stdio.h" #include "string.h" #include "
·
2015-11-12 14:00
poj
模板方法模式 Template
在基类的
算法模板
中的子算法,设为虚拟函数,将此虚拟函数放至子类中实现,类似思想可参考另一篇博文中的做法, http://www.cnblogs.com/xiumukediao/p/4637071.html
·
2015-11-12 10:03
template
欧拉回路判定与求解
欧拉回路
算法模板
(链式前向星和DFS实现): int ans[N]; int k = 0; int vis[2*M]; void DFS(int now) {
·
2015-11-12 10:07
二分图最大匹配匈牙利
算法模板
两种
1.邻接表(vector向量法) vector<int> G[N]; int Search_Path(int s) { for(int i=0;i<G[s].size();i++) { int v = G[s][i]; if(!vis[v]) { vis[v] =
·
2015-11-12 10:05
二分图
最短路(Floyd_Warshall) POJ 2253 Frogger
题目传送门 1 /* 2 最短路:Floyd
算法模板
题 3 */ 4 #include <cstdio> 5 #include <iostream>
·
2015-11-11 18:58
floyd
Power Network (最大流增广路
算法模板
题)
Time Limit: 2000MS Memory Limit: 32768K Total Submissions: 20754 Accepted: 10872 Description A power network consists of nodes (power stations, consumers a
·
2015-11-11 17:43
NetWork
KMP
算法模板
关于KMP算法的讲解网上有很多,但是写法五花八门,下面是我的写法,贴出来防止忘记。 1.求next[] 1 void get_next(char *P,int *next){ 2 int plen=strlen(p); 3 next[0]=-1; 4 int j=0; 5 for(int i=1;i<Plen;i++){ 6
·
2015-11-11 17:08
KMP
计算凸多边形面积的算法
求多边形面积的
算法模板
: 定义点的结构体 struct Point{ double x,y; } p[MAXPOINT]; 计算三角形面积 double getS
·
2015-11-11 17:02
算法
Kruskal
算法模板
(对边进行操作)
typedef struct edge{ int a; int b; int value;}edge;edge edges[earraysize];int final[narraysize]; &n
·
2015-11-11 15:04
算法
Prim
算法模板
int graph[arraysize][arraysize];bool final[arraysize];int d[arraysize]; int maxData =0x7fffffff;int N; //结点个数 int prim(int src){
·
2015-11-11 15:03
Prim
KM
算法模板
int maxData = 1000000000; int w[arraysize][arraysize]; //权值 int match[arraysize]; //保存匹配信息,其中i为Y中的顶点标号,match[i]为X中顶点标号 int
·
2015-11-11 15:59
算法
SPFA
算法模板
(邻接阵)
void SPFA(int src) { queue<int> myqueue; int i,j; memset(final,0,sizeof(final)); memset(pre,-1,sizeof(pre)); myqueue.push(src); for(i=0;i<=ncount;++i) //SP
·
2015-11-11 15:56
SPFA
最小费用路
算法模板
步骤0:初始可行0流步骤1:如果不存在最小费用流,则计算结束,已经找到最小费用流;否则,用最短路算法(由于存在负圈,只能采用SPFA或者Bellman-Ford算法)在残留网络中找到源点到终点的最小费用可增广路,转步骤2。步骤2:沿找到的最小费用可增广路增流,并转步骤1 。int maxData = 10000000;bool final[105];
·
2015-11-11 15:55
算法
最大流EK
算法模板
有关最大流的解释看《算法导论》和博客中的相关内容 模板(C++):#include <iostream>#include <queue>//#include <conio.h>using namespace std;#define arraysize 201int maxData = 0x7fffffff;int capacity[arraysize][ar
·
2015-11-11 15:51
最大流
最短路
算法模板
合集(Dijkstar,Dijkstar(优先队列优化), 多源最短路Floyd)
再开始前我们先普及一下简单的图论知识 图的保存: 1.邻接矩阵。 G[maxn][maxn]; 2.邻接表 邻接表我们有两种方式 (1)vector< Node > G[maxn]; 这个是之前就定义了图的大小了,再下面使用的时候就不用对图的大小进行申请了, 但是因为是直接申请了大小 要对图进行初始化,因此可能在某些题目中这样使用的话会超时 (2)vector<
·
2015-11-11 13:55
floyd
KMP
算法模板
1 #include <cstdio> 2 #include <cstring> 3 using namespace std; 4 #define N 10010 5 #define M 1000010 6 7 char S[M], T[N]; 8 int next[N]; 9 10 void Get_next()
·
2015-11-11 09:39
KMP
最大流EK
算法模板
最近学了下最大流算法,大概思想算是懵懵懂懂了,现在想把模板记录下来,以备后面深刻学习之用。 1 #include<cstdio> 2 #include<cstring> 3 using namespace std; 4 5 #define _clr(x, y) memset(x, y, sizeof (x)) 6 #d
·
2015-11-11 09:34
最大流
矩阵
算法模板
#include <iostream> #include <algorithm> using namespace std; const int MAX = 32; int n, MOD; struct Matrix{ int v[MAX][MAX]; } Matrix mtAdd(Matrix A, Matrix B){ Matrix C;
·
2015-11-11 09:27
算法
排序
算法模板
(C语言版)
1.快速排序 //By LYLtim void swap(int *a, int *b) { int t = *a; *a = *b; *b = t; } void QSort(int l, int r) { int lp = l, rp = r, m = (l + r) >> 1; while (lp < rp) { while
·
2015-11-11 07:01
排序算法
hdu 1711 Number Sequence(KMP模板题)
把两个数列分别当成KMP算法中的模式串和目标串,这道题就变成了一个KMP
算法模板
题。
·
2015-11-11 03:15
sequence
图论常用算法之二
算法模板
及建模总结
寒假的第二周,弥补了一下图论算法。在这里做一下总结,主要针对近期学到的一些建模技巧,同时也非常感谢有朋友能够给出图论算法相关的精彩讲解或者知识链接。 算法总结: 欧拉回路问题:判断图是否存在欧拉回路或者欧拉通路,输出一条欧拉回路。 学习Fleury算法输出一条欧拉回路。 1 /* G是连通无向图,则称经过G的每条边一次并且仅一次的路径为 2 欧拉通路,起点和终点是同一个顶点
·
2015-11-11 03:31
算法
acm
算法模板
(5)
STL 中 sort 函数用法简介 做 ACM 题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的 O(n^2) 排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。 STL 里面有个 sort 函数,可以直接对数组排序,复杂度为 n*l
·
2015-11-09 14:24
ACM
acm
算法模板
(4)
杂乱小模板 状态压缩dp小技巧 x&-x是取x的最后一个1的位置。 x-=x&-x是去掉x的最后一个1。 读入外挂 int nxt_int(){// neg or pos char ch; int flag =&nb
·
2015-11-09 14:24
ACM
acm
算法模板
(2)
数学问题: 1.精度计算——大数阶乘 2.精度计算——乘法(大数乘小数) 3.精度计算——乘法(大数乘大数) 4.精度计算——加法 5.精度计算——减法 6.任意进制转换 7.最大公约数、最小公倍数 8.组合序列 9.快速傅立叶变换(FFT) 10.Ronberg算法计算积分 11.行列式计算 12.
·
2015-11-09 14:18
ACM
acm
算法模板
(3)
位 运 算 程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。运位算包括位逻辑运算和移位运算,位逻辑运算能够方便地设置或屏蔽内存中某个字节的一位或几位,也可以对两个数按位相加等;移位运算可以对内存中某个二进制数左移或右移几位等。 计算机内部是以补码形式存放数值的。C语言提供了六种位运算 &
·
2015-11-09 14:18
ACM
acm
算法模板
(1)
1、 几何 4 1.1 注意 4 1.2 几何公式 4 1.3 多边形 6 1.4 多边形切割 9 1.5 浮点函数 10 1.6 面积 15 1.7 球面 16 1.8 三角形 17 1.9 三维几何 19 1.10 凸包 26 1.11 网格 28 1.12 圆 28 1.13 整数函数 30 2、 组合 33 2.1 组合公式 33 2.2 
·
2015-11-09 14:17
ACM
二分图匹配--匈牙利
算法模板
对二分图一边的每一个点 dfs ,寻找它的所有匹配点,若那个匹配点没有匹配过或匹配的另一半能新找一个点与之匹配,那么就重组后分别匹配,否则不能匹配 1 int dfs(int k) 2 { 3 for(int i=head[k];~i;i=next[i]) 4 if(!visit[point[i]]){ 5 int p=poi
·
2015-11-09 12:24
二分图
POJ2104 K-th Number (子区间内第k大的数字)【划分树
算法模板
应用】
K-th Number Time Limit: 20000MS Memory Limit: 65536K Total Submissions: 40920 Accepted: 13367 Case Time Limit: 2000MS Description You are working for Macrohard compan
·
2015-11-08 16:32
number
最小树形图(朱刘
算法模板
)
求有固定根的最小树形图的算法 算法步骤: (1)求最短弧集:除了根节点外,找到所有其他的节点最小边权的入边(用in数组记录到达改点的最小边权,用pre数组记录其父节点) (2)检验生成的集合中是否存在有向圈,有的话进行步骤3,没有进行步骤4,假如除了根节点外有的节点是孤立的,也就是没有弧指向他,不存在最小树形图; (判断方法:利用pre数组以每个点进行枚举搜索) (3)把有向环缩成一个点
·
2015-11-08 14:33
算法
poj The Perfect Stall 1274 最大二分匹配
赤裸裸的最大二分匹配入,直接套匈牙利
算法模板
#include<iostream> using namespace
·
2015-11-07 13:32
poj
uva 563 Crimewave
网络流最大流(经典的逃脱问题但是不会做啊) 这题不会做,问了别人的思路,知道是最大流,但是还是不会编码,后来找了解题报告,看了建图部分明白了,然后就是最大流EK
算法模板
即可 算法思路:对于给定的网格
·
2015-11-07 13:41
uva
SPFA
算法模板
大概思路是用一个队列来进行维护, 初始时将源加入队列。 每次从队列中取出一个元素,并对所有与他相邻的点进行松弛,若某个相邻的点松弛成功,则将其入队。 直到队列为空时算法结束。它可以在O(kE)的时间复杂度内求出源点到其他所有点的最短路径,可以处理负边。 自己不太理解,以后再说吧。 附上实例+模板一个。
·
2015-11-07 12:33
SPFA
Bellman-Ford
算法模板
Bellman-Ford算法可以大致分为三个部分 第一,初始化所有点。每一个点保存一个值,表示从原点到达这个点的距离,将原点的值设为0,其它的点的值设为无穷大(表示不可达)。 第二,进行循环,循环下标为从1到n-1(n等于图中点的个数)。在循环内部,遍历所有的边,进行松弛计算。 第三,遍历途中所有的边(edge(u,v)),
·
2015-11-07 12:32
for
最小生成树prim
算法模板
prim #include <algorithm> template<class Type> void prim(int n,Type **edge) { Type lowcost[maxint]={0};  
·
2015-11-07 12:16
最小生成树
ACM_
高次同余方程
/*poj3243 *解决高次同余方程的应用,已知X^Y=KmodZ,及X,Z,K的值,求Y的值 */ #include #include #include usingnamespacestd; #definelint__int64 #defineMAXN131071 structHashNode{lintdata,id,next;}; HashNodehash[MAXN=1) { if(b&1
xiaotan1314
·
2015-11-07 10:00
高次同余方程
ACM_
扩展欧几里德算法
/* 扩展欧几里德算法 基本算法:对于不完全为0的非负整数a,b,gcd(a,b)表示a,b的最大公约数,必然存在整数对x,y,使得gcd(a,b)=ax+by。 证明:设a>b。 1,显然当b=0,gcd(a,b)=a。此时x=1,y=0; 2,ab!=0时 设ax1+by1=gcd(a,b); bx2+(amodb)y2=gcd(b,amodb); 根据朴素的欧几里德原理有gcd
xiaotan1314
·
2015-11-06 14:00
算法
ACM
gcd
poj2239 Selecting Courses --- 二分图最大匹配
匈牙利
算法模板
题 有n门课程,每门课程可能有不同一时候间,不同一时候间的课程等价。 问不冲突的情况下最多能选多少门课。
·
2015-11-02 19:07
select
POJ2195 Going Home——二分图最大带权匹配的KM算法——pku2195
KM
算法模板
题。
·
2015-11-02 17:35
home
Dijkstra
算法模板
Dijkstra算法又称为单源最短路径,所谓单源是在一个有向图中,从一个顶点出发,求该顶点至所有可到达顶点的最短路径问题。 设G=(V,E)是一个有向图,V表示顶点,E表示边。它的每一条边(i,j)属于E,都有一个非负权W(I,j),在G中指定一个结点v0,要求把从v0到G的每一个接vj(vj属于V)的最短有向路径找
·
2015-11-02 10:49
dijkstra
求二分图最大匹配——匈牙利
算法模板
。
才开始的时候研究过他,不过当时只是记住的模板刷了几个模板题后一位会了。过上一段时间就忘了。唉。。这次好好研究研究。。 http://baike.baidu.com/view/501081.htm 补充: 最大匹配: 图中包含边数最多的匹配称为图的最大匹配。 完美匹配: 如果所有点都在匹配边上,称这个最大匹配是完美匹配。 最小覆盖: 最小覆盖要求用最少的点(X集合或Y集合的
·
2015-11-01 14:51
二分图
上一页
16
17
18
19
20
21
22
23
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他