摘要: PE698 SP9534 spoj TSUM luogu2518 2602 2235 6006 BZOJ3208 bzoj2752 bzoj2104 阅读全文
posted @ 2020-01-27 18:37 passione 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 二分图匹配: 1.Hungary O(n * m) n为二分图左侧点数 m为二分图右侧点数 #include<bits/stdc++.h> using namespace std; const int N=1e7; struct node{ int from,to,nxt; }e[N]; int h 阅读全文
posted @ 2020-01-26 20:51 passione 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 平衡树: Splay #include <bits/stdc++.h> #define root T[0].son[1] using namespace std; int read() { int re = 0, f = 1; char ch = getchar(); while (ch < '0' 阅读全文
posted @ 2020-01-20 23:52 passione 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 上板子 KMP: for(int i=1;i<n;i++){ while(u>0&&s[u]!=s[i]){ u=Pi[u-1]; } if(s[u]==s[i]){ u++; } Pi[i]=u; } KMP Z Algorithm: for(int i=1,l=0,r=0;i<len;i++){ 阅读全文
posted @ 2019-12-21 07:41 passione 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 1.各种数: 全排列:P(n,n)=n! 部分排列:P(n,m)=n!/(n-m)! 组合数:公式:C(n,m)=n!/(m!*(n-m)!) 递推式 :C(n,m)=C(n-1,m)+C(n-1,m-1) Lucas定理:C(n,m)%p=C(n/p,m/p)*C(n%p,m%p)%p #defi 阅读全文
posted @ 2019-11-23 07:41 passione 阅读(622) 评论(0) 推荐(1) 编辑
摘要: 线性筛筛素数: void getxxs(int N){ for(int i=2;i<=N;i++){ v[i]=1; } for(int i=2;i<=N;i++){ if(v[i]==1){ prime[++num]=i; } for(int j=1;j<=num&&i*prime[j]<=N;j 阅读全文
posted @ 2019-11-14 08:56 passione 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 1.s.end()返回的是结尾的位置(开区间) 不是最后一个数的位置 2.s.end()返回的是第一个数的位置(闭区间) 阅读全文
posted @ 2019-11-09 09:53 passione 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 主席树静态序列查区间第k大 struct tree{ int L,R,sum; }t[100010]; void change(int &now,int pre,int l,int r,int k){ now=++cnt; t[now]=t[pre]; t[now].sum++; int mid=( 阅读全文
posted @ 2019-11-03 17:33 passione 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 俞鼎力大牛:堆得可持久化 直接上代码? #include<bits/stdc++.h> #define eps 1e-8 using namespace std; int head[10005],cnt=-1,v[10005],rt[10005],mark[1000005],ans,fa[10005 阅读全文
posted @ 2019-11-03 17:19 passione 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 前置知识 :十字链表 本质上是一种数据结构优化的暴力 主要是十字链表存稀疏图比较快 代码 阅读全文
posted @ 2019-10-31 16:22 passione 阅读(81) 评论(0) 推荐(0) 编辑