3 ThreeWater-

尚未进行身份认证

暂无相关描述

等级
TA的排名 2w+

可持久化trie树

https://www.nowcoder.com/acm/contest/104/H就是区间里找一个值和x异或起来最大,多次查询#include<bits/stdc++.h>usingnamespacestd;typedefdoublell;constintN=1e5+5;structnode{intc[2],val;}tree[N*40...

2018-04-26 19:18:04

主席树poj2104

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

2018-04-26 10:37:15

划分树(数第几大)

#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+10;inttree[30][N];//表示每层每个位置的值intsorted[N];//已经排序好的数inttoleft[30][N];//表示第i层从1到i有数分入左边voidbuild(intl,intr,intdep){if(l==r)

2017-11-07 19:52:53

线性基+树链剖分(bzoj4568)

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=20005;constintm_base=60;llread(){longlongx=0,f=1;charch=getchar();while(ch<'0'||ch>'9'){if(ch=

2017-11-03 22:49:41

矩阵快速幂(new 模板

第一种jujumul(jua,jub){//矩阵乘法inti,j,k;juc;c.CSH();for(i=0;i<n;i++)for(j=0;j<n;j++)if(a.a[i][j])for(k=0;k<n;k++)c.a[i]

2017-10-20 20:06:22

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

//2-sat模版constintmaxn=10005*3;intn,m;inta[maxn],b[maxn];structnote{intto;intnxt;}edge[maxn*2];inthead[maxn];intip;intdfn[maxn],low[maxn],sccno[maxn],cnt,scc,instack[maxn];

2017-10-18 21:25:50

线段树模板

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;#definelsl,mid,rt<<1#definersmid+1,r,rt<<1|1inlineintMAX(inta,intb){returna>b?a:b;}constintN=50005;intsum[N<<2];voi

2017-10-10 18:30:33

hdu6184 (过题全靠抖

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=1e5+5;intvis[N];vector<int>q[N],low,up;unordered_set<ll>mp;unordered_map<ll,int>cnt;intmain(){intn,m;

2017-09-06 16:08:12

三元环的个数

#include<bits:stdc++.h>usingnamespacestd;typedeflonglongll;constintN=1e5+5;intvis[N];vector<int>q[N],low,up;set<ll>mp;intmain(){intn,m;while(~scanf("%d%d",&n,&m)){

2017-09-06 15:20:35

hdu6191(字典树合并)

字典树合并,记得释放内存#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;inta[100005];vector<pair<int,int>>que[100005];vector<int>qq[100005];intans[100005];structnode{structnode

2017-09-05 17:39:12

线性序列 模版

typedeflonglongll;//线性序列求第n项constllmod=1000000007;llquick_pow(lla,llb){llres=1;a%=mod;for(;b;b>>=1){if(b&1)res=res*a%mod;a=a*a%mod;}returnres;}constintN=10010;llres[N],base[N],_c[N]

2017-08-26 14:41:05

异或的应用

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

2017-08-17 09:42:31

1~n的异或和

llxor_n(lln){llt=n&3;if(t&1)returnt/2ull^1;returnt/2ull^n;}

2017-08-17 09:39:13

C++11 lambda表达式

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

2017-08-15 09:42:07

hdu6069

先枚举素因子,再枚举区间,每次跨越素数长度#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;intINF=0x3f3f3f3f;llp[200005],cn=0,d[1000005];llaa[1000005],bb[1000005];intmain(){for(lli=2;i<=100

2017-08-06 14:07:35

HDU4609 NTT||FFT

先用NTT求出两两组合的方案数然后就能o(n)求出能组成三角形的方案数NTT:#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=4e5+10;constllmod=(1ll<<47)*7*4451+1;constllg=3;llmul(ll

2017-08-02 22:20:14

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

#include<iostream>#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>#include<iomanip>#include<stdlib.h>#include<time.h>usingnamespacestd;typedeflonglongll;typedefun

2017-08-02 15:23:00

FFT&&FWT&&NTT

FFT是计算卷积的,就是FFT大数乘法模版:#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>usingnamespacestd;constintN=500005;constdoublepi=acos(-1.0);chars1[N],s2[N];intlen,res[N]

2017-08-02 15:22:00

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

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=5e5+5;voidread(int&ret){ret=0;charch=getchar();while(ch<'0'||ch>'9')ch=getchar();for(;ch>='0'&&ch<='9';ch=getchar())

2017-08-02 14:53:24

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

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=5e5+5;intread(){intret=0;charch=getchar();while(ch<'0'||ch>'9')ch=getchar();for(;ch>='0'&&ch<=

2017-08-01 21:08:57

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!