自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 SPOJ DQUERY 区间内不同数的个数 主席树

#include #include #include #include #include using namespace std;const int MAXN = 30010,MAXLOG = 20;struct ChairTree{ int l,r; int ans;}ct[MAXN*MAXLOG];int ctRoot[MAXN];int ctTop

2015-04-28 14:56:15 920

原创 二分图匹配

using namespace std;const LL MAXN = 9000001;struct N{ unsigned int v,next;}edge[MAXN*2];int head[MAXN];int Top;void Link(unsigned int u,unsigned int v){ edge[Top].v = v; edge

2015-04-23 21:35:19 716

原创 最小费用最大流模板

const int MAXN = 10000;const int MAXM = 100000;struct Edge{ int to,next,cap,flow,cost;}edge[MAXM];int head[MAXM],tol;int pre[MAXN],dis[MAXN];bool vis[MAXN];int N;void Init(int n){ N

2015-04-22 21:42:45 604

原创 树链剖分模板

#include #include #include #include #include #include #include #include #define LL long long#define EPS (1e-8)#define INF 0x3f3f3f#pragma comment(linker, "/STACK:1024000000,1024000000")

2015-04-22 20:46:19 564

原创 SPOJ TTM To The Moon 主席树的区间更新与查询

首先要吐槽一下,区间更新的主席树的内存开销已经瞬间爆炸了。。n,m 首先主席树所需要的lazy与普通线段树的lazy无差。主席树需要另开一个标记来判断当前节点是否是前一层的节点,如果是就在pushdown的时候分配一个新的。HDU已经MLE成狗了。不过可持久化的BIT 貌似可过,线段树被卡系数了OTZ。。。#include #include #include #include

2015-04-22 13:32:53 979

原创 ZOJ 2112 Dynamic Rankings BIT套ChairTree

劳资就是想单纯的测个模板,怎么就特喵的这么难。首先说一下自己对主席树的理解。作用:确定区间[L,R]内的第K大数,或者区间内有多少个不同个元素。主席树的另一个名字叫做函数式线段树,然后我查了一下函数式的特点,其中之一就是不修改状态。从主席树上来看这个特点就是:在向主席树插入第 i 个元素之后,我们仍能查询到没插入 i 之前的状态。主席树的构造:对于有n个元素,s个不同元

2015-04-21 14:27:00 706

原创 URAL 1752 Tree 2 树的直径与倍增

假设树的直径的两个端点为p0,p1。如果对于一次询问(v,k)存在点q满足要求,那么q必然在v到p0或v到p1的路径上。剩下的就是在树上寻找p了。倍增就好了。#include #include #include #include #include #include #include #include #include #define LL long long#defi

2015-04-16 16:14:49 995

原创 原根

定理:如果m有原根,那么它一定有φ(φ(m))个原根。求模素数P原根的方法:对p-1素因子分解,得到top个素因子,若有(g^((P-1)/FACi))%P != 1%P  (1

2015-04-09 12:26:35 941

原创 大素数判断和素因子分解(miller-rabin,Pollard_rho算法)

#include #include #include #include #include #include #include #include #pragma comment(linker, "/STACK:1024000000")#define LL long long int#define INF 0x3f3f3f3fusing namespace std;con

2015-04-09 11:14:50 922

原创 欧拉素数筛

const int MAXN = 1000;//上限bool mark[MAXN];int phi[MAXN];//欧拉函数值int prime[MAXN];//素数int Top;//素数个数void GetPhiandPrimeTable(int n){ memset(mark,false,sizeof(mark)); phi[1] = 1; Top =

2015-04-09 11:06:16 749

原创 在线LCA

const int MAXN = 10010; const int MAXM = 10010; struct N { int v,w,next; }edge[MAXM*2]; int Top; int head[MAXN]; int MAXSIZE; int dep[MAXN]; int seq[MAXN*2]; int R[MAXN];

2015-04-08 16:52:31 706

原创 允许重复数字的划分树

const int MAXN = 50010,MAXM = 20;int num[MAXN],tmp[MAXN],pre[MAXN];int ans[MAXM][MAXN],val[MAXM][MAXN];void Init(int l,int r,int h){ if(l == r) return ; //printf("l = %2d r = %2

2015-04-08 16:49:02 631

原创 HDU 2784 Connections between cities 并查集+Online_LCA

模板攒起来#include #include #include #include #include #include #include #pragma comment(linker, "/STACK:1024000000");#define LL long long intusing namespace std;const int MAXN = 10010;const

2015-04-03 20:36:48 942

原创 POJ 1637 Sightseeing tour混合欧拉图的判定

网络流简直爆炸了。以下解释转自kuangbin博客,爆炸了。【混合图】混合图(既有有向边又有无向边的图)中欧拉环、欧拉路径的判定需要借助网络流!(1)欧拉环的判定:一开始当然是判断原图的基图是否连通,若不连通则一定不存在欧拉环或欧拉路径(不考虑度数为0的点)。其实,难点在于图中的无向边,需要对所有的无向边定向(指定一个方向,使之变为有向边),使整个图变成一个有向欧拉

2015-04-03 19:29:52 698

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除