- 博客(213)
- 资源 (3)
- 收藏
- 关注
原创 Cmake simple tutorial using library
文章目录On cmakeOn sturecture of the programOn creating a libraryinclude/HelloClass.hsrc/HelloClass.cppCMakeLists.txtBuilding command in directory `build`Shared library in libhello.soTest on librarysrc/ma...
2019-02-10 19:45:45
743
原创 Git and Github tutorial
Git and Github tutorialCreate local repositoryPush to and pull from the remote repositoryClone repository and edit locallyMerge repository with a dupicate one locallyTwo separete ways of working on Gi...
2019-01-28 02:43:54
261
转载 2017
http://m.nowcoder.com/discuss/32655https://www.nowcoder.com/discuss/21415http://www.cnblogs.com/webary/http://talent.baidu.com/external/baidu/index.html#/intern/12
2017-08-17 23:18:34
346
转载 自适应Simpson积分(近似求积分)
//1261: 地狱飞龙 #include <bits/stdc++.h>using namespace std;const double eps=1e-7;double v1,v2,x,k;int t;//积分函数double F(double t){ return k/((x-v2*t)*(x-v2*t)+(v1*t)*(v1*t));}//自适应Simpson积分
2017-08-08 02:24:47
704
原创 大小步(同余方程的解)
大小步BigStepGiantStep算法求 A^x = B( mod P ) (注:P为质数)中x的解//来自kuangbin的ACM模板#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#
2017-08-08 02:11:59
622
原创 大整数约数问题
//大整数约数和/*POJ 1845 Sumdiv求A^B的所有约数之和%9901*//*大整数的约数和 三个问题 1.约数和结论-对于一个大整数N,他的因数分解式为 ( a1^x1 ) * ( a2 ^ x2) * (a3^x3 )... ,那么约数和 sum = ( 1 + a1 + a1^2 + ... a1^x1 ) * ( 1 + a2 + a2^2 + ... a2^x2 )
2017-08-08 01:47:43
694
转载 整数拆分
//整数分拆:给定一个数,问他拆分个数是多少。拆分是一系列整数,他们的和为给定的数//复杂度O(N*sqrt(N))//HDU 4651//将一个数用一个或多个正整数的无序和来表示//分拆数中全部是奇数的个数和两两不相同的个数是相同的/*一些有关限制分拆的结论: n的分拆数中最大部分为m的个数=把n分拆成m部分的个数 n的分拆数中每部分的数都相等的个数=n 的因子个数
2017-08-07 20:26:54
401
转载 快速傅里叶
参考 : http://blog.youkuaiyun.com/under_sky_dxj/article/details/52778350 http://blog.youkuaiyun.com/gatevin/article/details/46880667 http://www.gatevin.moe/acm/fft%e7%ae%97%e6%b3%95%e5%ad%a6%e4%b9%a0%e7%
2017-08-07 15:43:29
378
原创 高斯消元
高斯消元求线性方程组的解高斯消元复杂度 O(N^3)参考 :整数线性方程组的解 | 自由变元的个数 http://www.cnblogs.com/kuangbin/archive/2012/09/01/2667044.html 浮点线性方程组的解 http://www.cnblogs.com/kuangbin/p/3428573.html 异或方程组的解
2017-08-07 09:42:52
247
原创 图论模型总结
最短路:单源最短路(Dijkstra | BellmanFord | SPFA) 多源最短路(Floyd)生成树:最小生成树(Prim | Kruskal) 次小生成树(Prim | Kruskal) 最小树形图(有向图的最小生成树 朱刘算法) 生成树计数(Matrix—tree定理 取摸和不取摸) 曼哈顿最小生成树(曼哈顿距离下的最小生
2017-08-05 17:55:35
1330
原创 最近公共祖先LCA
//最近公共祖先 LCA//DFS + ST 在线算法//算法思想:对一棵树进行深搜回溯标号,那么两个节点的最近公共祖先就是两个节点第一次标号之间深度最小(非标号,因为回溯会增大那个节点,虽然该节点第一次标号很小)的那个对应的节点 //poj1330#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#i
2017-08-05 17:36:42
233
转载 一般图最大匹配
//带花树算法求一般图的最大匹配参考 http://www.cnblogs.com/owenyu/p/6858508.html http://blog.youkuaiyun.com/jackyguo1992/article/details/11271497 http://fanhq666.blog.163.com/blog/static/8194342620120304463580/
2017-08-04 16:50:26
267
转载 manhattan最小生成树
//manhattan距离下的最小生成树,主要在于产生有效边,然后对产生的有效边集求最小生成树//POJ3241//将N个点奉承K个部分,定义两个点的相似度是他们的曼哈顿距离,找出一个数X使得每个点数大于1的部分任意两个点的相似度都不大于X//转化成manhattan最小生成树求n-k小边问题,可以想成对于最小生成树里面把大于X的边都切掉形成一部分,这一部分可能只有一个点,也可能得到多个点但是
2017-08-04 16:23:58
255
转载 2-SAT
//参考 https://wenku.baidu.com/view/afd6c436a32d7375a41780f2.html //2 - SAT 问题 : 给定N个组,每个组有两个点,某些点不相容,从每个组选一个点问怎么选出相容的N个点 //得到字典序最小的解:染色法//HDU 1814//复杂度O(VE)#include<iostream> #include<cstdio>#inclu
2017-08-04 14:27:18
449
原创 最小费用流
参考 http://blog.youkuaiyun.com/fp_hzq/article/details/6675872 http://blog.youkuaiyun.com/u010660276/article/details/12750009 http://www.cnblogs.com/kuangbin/archive/2012/08/22/2651222.html
2017-08-03 23:05:37
235
原创 最大流
参考 http://www.cnblogs.com/north_dragon/archive/2010/05/29/1747202.html http://blog.youkuaiyun.com/keroro520/article/details/9669389 http://blog.youkuaiyun.com/u014141559/article/details/43709421 http://
2017-08-03 22:55:57
209
转载 生成树计数
生成树计数,取摸#include <stdio.h>#include <algorithm>#include <iostream>#include <string.h>#include <vector>#include <queue>#include <map>#include <set>#include <list>#include <string>#include <mat
2017-08-03 09:04:32
228
转载 二分图的多重匹配
来自:http://www.cppblog.com/JulyRina/archive/2015/02/13/209816.html参控:http://www.cnblogs.com/nanke/archive/2012/04/15/2450288.html//HDU3605#include <cstdio>#include <cstring>#include <vector>using
2017-08-02 20:00:15
366
转载 带权二分图的最大完美匹配
来自:http://blog.youkuaiyun.com/yulin11/article/details/4385207参考:http://blog.youkuaiyun.com/x_y_q_/article/details/51927054 http://www.cnblogs.com/kuangbin/archive/2012/08/19/2646535.html http://blog.csd
2017-08-02 19:12:14
810
原创 无权二分图的最大匹配
//poj2063#include<iostream>#include<cstdio>#include<cstring>using namespace std ;/*交替路:从一个未匹配节点出发,依次经过未匹配边,匹配边,未匹配边,匹配边,形成的路径是交替路增广路:从一个未匹配节点处罚,走交替路,如果途径另一个未匹配节点,则这条路就是增广路*/ //匈牙利算法求无权二分图的最大匹配
2017-08-02 16:55:24
315
转载 最小树形图
//来自kuangbin的最小树形图模版:#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int INF = 0x3f3f3f3f;const int MAXN = 1000+10;const int MAXM = 40000+10;struct Edge{ //分别为起点
2017-08-02 12:21:15
342
原创 点双连通分量
/*补图:对于一个无向图G,他的完全图为K,那么K-G的所有边组成的图就是G的补图双连通分量:无向图G的一个极大双连通子图,这个子图要分成多个子图的话必须舍弃2极其以上的点或者边二分图:把无向图的顶点划分成两个部分,无向图的边两端的顶点分别属于这两个部分,也就是说在顶点集合内部不会有边连接交叉染色法:判定一个图是否二分图的方法奇圈:无向图中一条长度为奇数的回路,他的点和边不重合*/ /
2017-08-02 09:42:28
404
原创 边双连通分支
/*求边双连通分支:跑一遍求割点与桥的Tarjan得到该图的割点和桥,去掉桥,其余连通分支就是边连通分支了,边连通分支数是桥数+1。 边连通分支就是去掉最少两条边才能将该图划分为两个部分的图,桥就是一个图被去掉一条边就能变成两个子图的那一条边, 构造边双连通分支: 把双连通子图收缩为一个点,形成一个树,需要加边数量是(leaf+1)
2017-08-01 10:39:38
336
原创 割点和桥
图的割点、桥、双连通分支知识割点集合: 在一个无向连通图中,如果有一个顶点集合,当删除这个集合中的顶点和这些顶点关联的边之后,得到的图是多个连通块,则这个顶点集合就是割点集合割边集合: 如上定义 图的点连通度:最小割点集合中顶点个数图的边连通度:最小割边集合中边的个数点(边)双连通图: 是一个点(边)连通度大于1无向图 割点:对于一个点连通度为1的无向图,他的割点集合的唯一顶点就是割点桥
2017-07-31 22:36:55
411
原创 有向图的强连通分量
//HDU 1269//因为HDU挂了所以下面求有向图的强连通分量的代码还没有提交,等好了再测试吧#include <iostream>#include <cstring>#include <cstdio>#include <cstdlib>using namespace std;#define MAXN 10010#define MAXM 100010//求图上的强连通分量 Tarja
2017-07-31 15:44:47
488
原创 次小生成树
// POJ - 1679#include <iostream>#include <stdio.h>#include <algorithm>#include <string.h>using namespace std;//最小生成树prim 复杂度 O(v^2)//次小生成树prim 复杂度 O(v^2 * 2)/* * 次小生成树 * 求最小生成树时,用数组Max[i][j]来表
2017-07-31 11:25:15
262
原创 最小生成树
//HDU 1836//最小生成树 prime#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#include<set>using namespace std ;const int maxn = 1e2 + 10 ;const int INF = 0x3f3
2017-07-30 20:48:30
228
原创 最短路
#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#include<vector>#include<map>#include<set>#include<queue>#include<deque>using namespace std;#define INF 0
2017-07-30 15:14:13
330
原创 主席树
//SPOJ dquery #include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <string>#include <math.h>#inclu
2017-07-29 16:54:24
264
原创 动态树
#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <string>#include <math.h>#include <stdlib.h>
2017-07-27 09:34:17
253
原创 伸展树
/* * 维修数列 NOI * 经典的伸展树的题目。 * 题目首先给出一个数列,然后进行下列6种操作 * 1:INSERT post tot c1,c2,...ctot :在当前数列的第pos个数字后插入tot个数字 * 2:DELETE pos tot : 从当前数列的第pos个数字开始连续 删除tot个数字 * 3:MAKE-SAME pos tot c :将当前数列的第pos个数
2017-07-26 14:06:06
216
原创 树链剖分
//树链剖分 + 树状数组 + 点权修改//HDU 3966#pragma comment(linker, "/STACK:1024000000 , 1024000000")#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<vector>using namespace std
2017-07-24 16:03:43
205
原创 区间和 | 区间最值-区间k大
区间和1.递推-维护动态规划表 | 一维复杂度O(n) , 二维O(mn) 一维区间连续和:d[i]含义-区间[1,i]前缀和,递推公式 d[i] = d[i-1] + A[i] , 递推条件d[0] = 0 二维矩形区域和:d[i][j]含义-矩形( [1,i] , [1,j] ) 前缀矩形区域和递推公式d[i][j] = d[i][j-1] + d[i-1][j] + A
2017-07-20 01:54:11
600
原创 树状数组
//POJ 2352#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std ;const int maxn = 15010 ;const int maxx = 32010 ;/*树状数组是一个在线算法,相较于离线算法他不需要提前知道所有的输入, 他可以来一个输入
2017-07-20 01:26:24
191
原创 RMQ区间最值查询SparseTable算法
//一维区间最值查询模板稀疏表sparse table算法//区间最值查询--线段树--RMQ//区间连续和--线段树//区间第k大--快排--划分树(线段树?) --主席树 //二维区间最值查询根据一维区间最值查询的思想写代码 /*区间最值查询RMP ST 算法 原理: O(nlogn)预处理,O(1) 查询 预处理--使用动态规划,令F(i,j)表示以i起始的2^
2017-07-19 21:55:39
338
原创 划分树
HDU2665#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn = 100000 + 1000 ;/*划分树是一个基于线段树的二叉检索树与线段树用一维数组不区分深度不同划分树使用二维数组tree[20][maxn],前一个下
2017-07-19 21:04:11
171
原创 线段树
//poj1166 求区间连续和#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>using namespace std ;const int maxn = 1e6;/* 线段树通过将线段离散化构建了一颗二叉查找树的树结构,类似于完全二叉树使用数组实现离线算法,在l
2017-07-18 23:17:48
202
原创 字符串hash
//HDU4622#include<iostream>#include<cstring>#include<algorithm>#include<vector>#include<set>#include<cmath>using namespace std ;//哈希函数的模 const int HASH = 10007 ;const int maxn = 2010 ;//哈希表结构
2017-07-17 19:06:24
373
原创 后缀自动机SAM
#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<algorithm>#include<map> using namespace std ;const int maxn = 1e5 ;struct state{ //step代表从root(就是0)到当前点的最长路径 //
2017-07-17 02:44:28
248
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人