- 博客(20)
- 收藏
- 关注
原创 组合数打表
#include <bits/stdc++.h>#define ll long long#define endl "\n"using namespace std;const int maxn=500+20;const ll inf=1e18;const ll mod=998244353;ll fac[maxn];ll inv[maxn];ll qpow(ll x,ll n){ ll ret=1; ll tmp=x%mod; while(n){
2020-11-12 20:57:07 218
原创 2020 牛客暑假多校六 k-bag
简单思维题目:大致题意:给你一个n,一个k,接下来是一个长为n的串判断该串是否是 任意多个 1-k的排列 的一个子串思路:易知,若符合要求,则该串中必定存在一个位置x使得,对于任意整数y,都有yk+x到(y+1)k+x是一个1-k的排列len[i] 表示以i位置开始,多长距离内没有相同数字那么很好确定,x一定是前k个并且是len[0]+1其中的一个位置,即x=min(k,len[0]+1)ac代码#include <bits/stdc++.h>#define ll long
2020-07-31 11:29:12 148
原创 hdu 1028 母函数模板
母函数模板母函数学习博客链接1028ac代码#include <stdio.h>#include<iostream>#define ll long longusing namespace std;const int maxn=200;const ll inf=1e18;ll ans[maxn],te[maxn],sup[maxn];int main(){// ios::sync_with_stdio(false);// cin.tie(0);co
2020-06-08 16:34:01 138
原创 cf E. Are You Fired? 思维
原题链接题意:一个长度为n的序列,前(n+1)/1个数字给定,剩余数字均为x,求一个k,使任意k长的连续子串和大于0,不成立输出-1题解:首先可证k>n/2;当x>=0时,最后的一半都大于0,加上更优当x<0时,若情况成立,后面这部分必定要加上前面的某些数当x>=0时,直接求sum[n]当x<0时,k=n [1,n]k=n-1 [1,n-1] [2,n]k=n-2 [1,n-2] [2,n-1
2020-06-03 14:30:28 363 1
原创 E. K-periodic Garland dp
cf原题链接题目大意:给一个长度为n的01串,给定距离k,要求所有1之间的距离都为kdp[i][0]:表示前i个数据合法且第i个数据为0dp[i][1]:表示前i个数据合法且第i个数据为1dp[i][0]=min(dp[i-1][0],dp[i-1][1])+(a[i]==‘1’)因为dp[i][0]有两种情况,要么它是两个1之间(这种情况在计算dp[x][1]的时候会有判断,这里不用担心不符合要求),要么它后面一个1都没,无论哪种情况都可以直接从上一个的状态直接转移过来dp[i][1]=min
2020-05-24 14:37:45 257
原创 最大二分图匹配 匈牙利算法
自己整理模板#include <bits/stdc++.h>#define inf 1e10using namespace std;typedef long long ll;const int maxn=1e5+20;int head[maxn];int match[maxn];int step,ans=0;bool vis[maxn];struct node...
2019-11-07 21:28:02 127
原创 主席树 询问区间内有多少个不同的数字
#include <bits/stdc++.h>#define ll long longusing namespace std;const ll inf=1e9+10;const int maxn=1e5+20;char s[maxn];int ls[maxn*20],rs[maxn*20],sum[maxn*20],root[maxn];int pre[30],to...
2019-10-04 18:10:27 299
原创 后缀数组 模板
自己整理模板,仅作模板保存使用#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <stack>#include <vector>#include <queue>#include &...
2019-08-30 15:07:48 89
原创 大数加减乘除 模板
大数加法#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define ll long longusing namespace std;const ll inf=1e9+10;const int maxc=1e5+10;const...
2019-08-13 14:56:35 158
原创 树上倍增 LCA 模板
自己整理,仅作模板保存使用#include<cstdio>#include<algorithm>using namespace std;const int maxn=1005;int n,q,cnt;bool vis[maxn];int head[maxn],deep[maxn],dis[maxn],fa[maxn][11] ; //fa[x][i]为...
2019-08-13 12:10:44 144
原创 主席树 静态 模板
自己整理,仅作模板保存使用#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e5+5;int T[maxn],L[maxn*20],R[maxn*20],sum[maxn*20];//sz[]为原序列,h[]为离散化后序列int sz[maxn],h[ma...
2019-08-13 12:08:16 88
原创 回文树 模板
自己整理,仅作模板保存使用#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <stack>#include <vector>#include <queue>#include <...
2019-08-13 12:06:35 121
原创 划分树 模板
自己整理,仅作模板保存使用#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <stack>#include <vector>#include <queue>#include <...
2019-08-13 12:05:15 81
原创 主席树 动态 模板
自己整理模板,仅作模板保存使用#include <bits/stdc++.h>using namespace std;const int maxn = 6e4+5;//主席树最多需要在原空间上开大40倍,原空间本身首先要加大,这题原空间为50000const int maxm = 1e4+5;int T[maxn],S[maxn],L[maxn*40],R[maxn*40]...
2019-08-13 11:59:14 221
原创 点分治 模板 2
自己整理模板,仅作模板保存使用#include <iostream>#include<algorithm>#include<string.h>#include <stdio.h>using namespace std;const int inf=0x3f3f3f3f;const int maxn=2*1e5+10;int first...
2019-08-13 11:55:42 92
原创 点分治 模板 1
自己整理模板,仅作模板保存使用树上点分治模板代码 1 该模板有一巨大bug 在统计路径长度为单边长度时,会出错#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>using namespace std;#define inf 999...
2019-08-13 11:53:15 92
原创 dijkstar 堆优化版
自己整理的模板,仅作模板保存使用#include<iostream>#include<queue>#include<algorithm>#include<string.h>#define ll long long#define pa pair<int,int>using namespace std;const int ma...
2019-08-11 19:50:51 231
原创 dinic 模板
自己整理,仅做模板保存。cur【】数组是当前弧优化的辅助数组。当前弧优化是dinic算法中十分重要的优化。cur【】数组的使用方法即首先将head【】数组复制一遍。在dfs中再改变当前榨取到哪一条边。每次榨取,该边所有流量必定被榨干,下一次搜索,直接从这条边开始就好。#include<bits/stdc++.h>#define ll long longusing namesp...
2019-08-09 15:40:14 264
原创 kmp模板
kmp模板,自己整理,仅做模板保存#include<bits/stdc++.h>using namespace std;char tt[200],ss[200];//tt为模式串,下标从0开始,ss为匹配串int net[200];void getnet(int len){ net[0]=-1; int k=-1; for(int q=1;q&...
2019-08-09 11:01:56 766
原创 ekmp 代码模板
ekmp 自己整理的模板,仅作模板保存使用#include <bits/stdc++.h>#define ll long longusing namespace std;const int MAX=100010; //字符串长度最大值int net[MAX],extend[MAX];//net数组记录模式串的子串与原串的最长前缀,extend记录模式串与匹配串的子串最长...
2019-08-09 10:24:43 143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人