自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

__water

追逐梦想.

原创 可持久化trie树

https://www.nowcoder.com/acm/contest/104/H 就是区间里找一个值和x异或起来最大,多次查询 #include <bits/stdc++.h> using namespace std; typedef double ll; co...

2018-04-26 19:18:04 251 0

原创 主席树poj2104

主席树:其实就是开了n个前缀线段树,但是每次只更新logn个节点信息,达到可以利用历史信息来求得所需答案 其最简单的应用就是区间第k大 以下是大致的建树过程 #include<cstdio> #include<algorithm> ...

2018-04-26 10:37:15 160 0

原创 划分树(数第几大)

#include <bits/stdc++.h> using namespace std; const int N=1e5+10; int tree[30][N];//表示每层每个位置的值 int sorted[N];//已经排序好的数 int toleft[30][N];//表示第i...

2017-11-07 19:52:53 563 0

原创 线性基+树链剖分(bzoj4568)

#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=20005; const int m_base=60; ll read() { long long x=0,f=1...

2017-11-03 22:49:41 156 0

原创 矩阵快速幂(new 模板

第一种 ju jumul(ju a,ju b) {//矩阵乘法 int i,j,k; ju c; c.CSH(); for(i=0;i<n;i++) for(j=0;j<n;j++) if(a.a[i][j]) ...

2017-10-20 20:06:22 202 0

转载 2-sat模版(转自acm再见)

//2-sat模版 const int maxn=10005*3; int n,m; int a[maxn],b[maxn]; struct note { int to; int nxt; }edge[maxn*2]; int head[maxn]; int ip; int dfn...

2017-10-18 21:25:50 142 0

原创 线段树模板

#include <bits/stdc++.h> using namespace std; typedef long long ll; #define ls l,mid,rt<<1 #define rs mid+1,r,rt<<1|1 inline int MA...

2017-10-10 18:30:33 520 0

原创 hdu6184 (过题全靠抖

#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e5+5; int vis[N]; vector<int> q[N],low,up; unordered_set...

2017-09-06 16:08:12 367 0

原创 三元环的个数

#include<bits:stdc++.h> using namespace std; typedef long long ll; const int N=1e5+5; int vis[N]; vector<int> q[N],low,up; set<ll> ...

2017-09-06 15:20:35 455 0

原创 hdu6191(字典树合并)

字典树合并,记得释放内存#include <bits/stdc++.h> using namespace std; typedef long long ll; int a[100005]; vector<pair<int,int> > que[100005]; ...

2017-09-05 17:39:12 353 0

原创 线性序列 模版

typedef long long ll; // 线性序列 求第n项const ll mod=1000000007; ll quick_pow(ll a,ll b) {ll res=1;a%=mod;for(;b;b>>=1){if(b&1)res=res*a%mod;a=a*...

2017-08-26 14:41:05 365 0

原创 异或的应用

从一堆其他数都出现偶数次,只有一个数出现奇数次,O(n)求这个数 异或一遍即可。从一堆其他数都出现偶数次,只有两个数出现奇数次,O(n)求这两个数。 先异或一遍,得a^b的值,然后找到一位为1的位置,则a位置上为1,b位置为0(或反之) 这样就能将所有数,分成两组 ,该位为0和该位为1的情况...

2017-08-17 09:42:31 191 0

原创 1~n的异或和

ll xor_n(ll n) { ll t=n&3; if (t&1) return t/2ull^1; return t/2ull^n; }

2017-08-17 09:39:13 1317 0

转载 C++11 lambda表达式

很多语言都提供了 lambda 表达式,如 Python,Java 8。lambda 表达式可以方便地构造匿名函数,如果你的代码里面存在大量的小函数,而这些函数一般只被调用一次,那么不妨将他们重构成 lambda 表达式。C++11 的 lambda 表达式规范如下:[ capture ] ( p...

2017-08-15 09:42:07 135 0

原创 hdu6069

先枚举素因子,再枚举区间,每次跨越素数长度#include<bits/stdc++.h> using namespace std; typedef long long ll; int INF=0x3f3f3f3f; ll p[200005],cn=0,d[1000005]; ll aa...

2017-08-06 14:07:35 207 0

原创 HDU4609 NTT||FFT

先用NTT求出两两组合的方案数 然后就能o(n) 求出能组成三角形的方案数 NTT:#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=4e5+10; const ll mo...

2017-08-02 22:20:14 206 0

原创 51nod扒下来的蜜汁大数乘法

#include<iostream> #include<stdio.h> #include<string.h> #include<math.h> #include<algorithm> #include<iomanip> #i...

2017-08-02 15:23:00 250 0

原创 FFT&&FWT&&NTT

FFT是计算卷积的,就是 FFT大数乘法模版:#include<cstdio> #include<cmath> #include<cstring> #include<algorithm>using namespace std; const i...

2017-08-02 15:22:00 563 0

原创 hdu6059 字典树维护数位统计异或对数

#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=5e5+5; void read(int &ret){ret=0;char ch=getchar();while(ch...

2017-08-02 14:53:24 245 0

原创 HDU 6058 维护最近k个比本身大的数

#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=5e5+5; int read() { int ret=0; char ch=getchar(); w...

2017-08-01 21:08:57 750 1

原创 hdu2586 lca+rmq

#include<bits/stdc++.h> using namespace std; const int N=40010; const int M=20; int s; struct node { int v,w; node() {} node(int vv...

2017-07-19 11:56:34 171 0

原创 codeforces 830B 树状数组

#include <bits/stdc++.h> using namespace std; typedef long long ll; int read(){int ret=0;char ch=getchar();while(ch<'0'||ch>�...

2017-07-18 10:05:18 208 0

原创 最大三角形

#include <bits/stdc++.h> using namespace std; typedef long long ll; ll read() { ll ret=0; char ch=getchar(); while(ch<'0�...

2017-07-15 21:45:28 113 0

原创 codeforces 830A

第一眼看到就觉得是二分答案,但是没有仔细去想,就放弃了。#include <bits/stdc++.h> using namespace std; typedef long long ll; ll read() { ll ret=0; char ch=getchar()...

2017-07-14 22:28:52 291 0

原创 区间最多约数

#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e7+5,M=3200; vector<int> prime; int pri[M]={0}; int mx,a...

2017-07-08 11:04:31 240 0

原创 rmq(区间最值)

RMQ是英文Range Maximum(Minimum) Query的缩写,即区间最值。 其预处理为O(nlogn) ,查询为O(1), 不支持修改。 RMQ的原理实际上是动态规划,我们用A[1..N]表示一组数,用[Li,Ri]表示题目中所涉及到询问区间。设F[i,j]表示从a[i]到a[i...

2017-07-05 16:40:21 229 0

原创 第k长边的最小值

二分答案res,如果权值<=res,为0,否则为1,跑dij,如果dis>=k ,则说明res还能再大一点#include <bits/stdc++.h> using namespace std; typedef long long ll; int n,m,k; int e...

2017-07-04 15:24:49 152 0

原创 1021区间dp-51nod

#include<bits/stdc++.h> using namespace std; #define pb push_back typedef long long ll; ll dp[105][105],a[105]; ll sum[105]; int main() { i...

2017-05-10 22:23:25 102 0

转载 KM算法

转至 http://www.cnblogs.com/wenruo/p/5264235.html现在有N男N女,男生和女生每两个人之间有好感度,我们希望把他们两两配对,并且最后希望好感度和最大。怎么选择最优的配对方法呢?首先,每个妹子会有一个期望值,就是与她有好感度的男生中最大的好感度。男生呢,期望...

2017-04-06 21:50:37 267 0

原创 二分图无权匹配之匈牙利算法

hdu:2063 有n个男生,m个女生,然后有k个爱慕关系,然后让你找出最大的匹配数。#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #includ...

2017-03-28 22:11:23 143 0

原创 二分图匹配基本概念

最大匹配数:最大匹配的匹配边的数目 最小点覆盖数:选取最少的点,使任意一条边至少有一个端点被选择 最大独立数:选取最多的点,使任意所选两点均不相连 最小路径覆盖数:对于一个 DAG(有向无环图),选取最少条路径,使得每个顶点属于且仅属于一条路径。路径长可以为 0(即单个点)。 定理1:最大...

2017-03-28 11:16:40 1343 0

原创 pta basin 1002

#include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <queue> #include <map> #incl...

2017-03-12 18:11:52 265 0

原创 pta basin 1001

#include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <queue> #include <map> #incl...

2017-03-12 18:05:16 138 0

原创 PAT(basin)

1001:

2017-03-12 18:04:55 297 0

原创 多维最短路。

注意点: 看代码注释#include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <queue> #include <ma...

2017-03-12 18:00:54 200 0

原创 堆判断

#include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <queue> #include <map> #incl...

2017-03-11 10:32:56 214 0

原创 hdu2586 lca

lca裸题#include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <queue> #include <map> ...

2017-03-09 21:06:42 129 0

原创 LCA离线 hiho1067

dfs(u)//marge和find为并查集合并函数和查找函数 { for each(u,v) //访问所有u子节点v { dfs(v); //继续往下遍历 marge(u,v); //合并v到u上 标记v被...

2017-03-09 19:05:33 151 0

原创 poj1986 (树链剖分+线段树或者LCA+RMQ)

求树上任意两点的距离#include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <iostream> #include <...

2017-03-07 08:58:29 177 0

原创 hiho#1181 欧拉路2

在这个例子中:L1: 1-2-6-5-1 L2: 2-3-7-2 L3: 3-4-8-3 第一步时我们将L1压入栈S,同时我们用一个数组Path来记录我们出栈的顺序:S: [1 2 6 5 1] Path: 然后出栈到节点2时我们发现了2有其他路径,于是我们把2的另一条路径加入:S: 1...

2017-03-06 19:00:39 147 0

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