__water

追逐梦想.

可持久化trie树

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

2018-04-26 19:18:04

阅读数 153

评论数 0

主席树poj2104

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

2018-04-26 10:37:15

阅读数 98

评论数 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

阅读数 512

评论数 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

阅读数 116

评论数 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

阅读数 163

评论数 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

阅读数 122

评论数 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

阅读数 499

评论数 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

阅读数 294

评论数 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

阅读数 280

评论数 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

阅读数 244

评论数 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

阅读数 246

评论数 0

异或的应用

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

2017-08-17 09:42:31

阅读数 165

评论数 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

阅读数 719

评论数 0

C++11 lambda表达式

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

2017-08-15 09:42:07

阅读数 120

评论数 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

阅读数 172

评论数 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

阅读数 164

评论数 0

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

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

2017-08-02 15:23:00

阅读数 159

评论数 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

阅读数 463

评论数 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

阅读数 222

评论数 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

阅读数 696

评论数 1

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