模板
lcxdz
这个作者很懒,什么都没留下…
展开
-
1228. 油漆面积 (扫描线 线段树 模板
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e4+9;struct node{ int x,y1,y2; int cover; bool operator <(const node &t)const{ return x<t.x; }}t[N*2];struct segment{ int l,r; int cnt;原创 2022-03-29 20:50:04 · 183 阅读 · 0 评论 -
快读 模板
inline ll read(){ll num=0,neg=1;char c=getchar();while(!isdigit©){if(c==’-’)neg=-1;c=getchar();}while(isdigit©){num=(num<<3)+(num<<1)+c-‘0’;c=getchar();}return num*neg;}原创 2020-09-27 10:33:14 · 87 阅读 · 0 评论 -
四则运算 (模板
添加链接描述#include <bits/stdc++.h>using namespace std;typedef long long ll;#define int long longint qpow(int a,int b){ int ans=1; for(int i=1;i<=b;i++) ans*=a; return ans;}signed main(){ int T; cin>>T; while原创 2021-12-12 18:41:16 · 1517 阅读 · 0 评论 -
P3370 【模板】字符串哈希
添加链接描述手动不如stl hash#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>using namespace std;typedef unsigned long long ull;ull base=131;ull a[10010];char s[10010];int n,ans=1;int prime=233317; ull mod=21原创 2021-08-24 22:17:15 · 110 阅读 · 0 评论 -
P3375 【模板】KMP字符串匹配 (模板 KMP
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e6+9;int kmp[N],la,lb;char a[N],b[N];int main(){ scanf("%s",a+1); scanf("%s",b+1); la=(strlen(a+1)); lb=strlen(b+1); for(int i=2,j=0;i<=lb;i++){ while(j&原创 2021-08-24 22:14:57 · 117 阅读 · 0 评论 -
CF1475E Advertising Agency (组合数
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e3+9,mod=1e9+7;int arr[N];long long c[N][N];int main(){ for(int i=1;i<=1000;i++){ for(int j=0;j<=i;j++){ if(i==j||j==0)c[i][j]=1; else c[i][原创 2021-08-23 21:55:50 · 134 阅读 · 0 评论 -
P4343 [SHOI2015]自动刷题机 (求极小满足 极大满足 二分 模板
添加链接描述#include<bits/stdc++.h>using namespace std;#define Rint register inttypedef long long ll;int qr(){int ret=0,f=1;char ch=getchar();while(!isdigit(ch))f=ch=='-'?-1:1,ch=getchar();while(isdigit(ch))ret=ret*10+ch-'0',ch=getchar();return ret原创 2021-08-23 00:45:03 · 144 阅读 · 0 评论 -
2021CCPC华为云挑战赛 卷业务模型分析(三分模板
添加链接描述#include <bits/stdc++.h>using namespace std;const int N = 1e5 + 5;long long A1[N],A2[N],B[N];const double eps= 1e-6;int m;long long fuck(long long k,long long a[]){ long long mx =-1e18,mn=1e18 ; for(int i =1;i<=m;i++) {原创 2021-08-21 23:07:42 · 167 阅读 · 0 评论 -
ACwing 873. 欧拉函数
添加链接描述#include<bits/stdc++.h>using namespace std;int func(int n){ int ans=n; for(int i=2;i<=n/i;i++){ if(n%i==0){ while(n%i==0){ n/=i; } ans=ans/i*(i-1); } }原创 2021-05-25 22:06:33 · 114 阅读 · 0 评论 -
AcWing 869. 试除法求约数
添加链接描述#include<bits/stdc++.h>using namespace std;void func(int n){ vector <int >v; for(int i=1;i<=n/i;i++){ if(n%i==0){ v.push_back(i); if(n/i!=i)v.push_back(n/i); } } sort(v.begin(原创 2021-05-23 15:21:44 · 53 阅读 · 0 评论 -
Acwing 861. 二分图的最大匹配
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int e[N],ne[N],h[N],idx,match[N];bool vis[N];void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++;}bool dfs(int x){ for(int i=h[x];i!=-1;i=ne[i]) {原创 2021-05-17 22:18:06 · 102 阅读 · 0 评论 -
Acwing 853. 有边数限制的最短路 (bellman-ford求解非常方便
#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int w[N],e[N],ne[N],h[N],idx,dist[N],backup[N];int n,m,k;struct node{ int a,b,c;}t[N];void add(int a,int b,int c){ w[idx]=c; e[idx]=b,ne[idx]=h[a],h[a]=idx++;}int sp原创 2021-05-16 14:01:33 · 95 阅读 · 0 评论 -
acwing 850. Dijkstra求最短路 II
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1.5e5+10;int e[N],ne[N],h[N],idx=0,w[N],n,m,dist[N];bool vis[N];typedef pair<int,int> pii;priority_queue<pii,vector<pii>,greater<pii> >q;void add(int a,int b原创 2021-05-14 11:23:26 · 86 阅读 · 0 评论 -
ACwing 848. 有向图的拓扑序列
添加链接描述#include<bits/stdc++.h>using namespace std;int n,m;const int N=1e5+10;int e[N],ne[N],d[N],idx=0,h[N];void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++;}int ans[N],cnt=0;void bfs(){ queue<int>q; for(int i=1;i&l原创 2021-05-12 11:11:36 · 132 阅读 · 0 评论 -
ACwing 847. 图中点的层次
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int e[N],ne[N],h[N],idx;int n,m,ans[N];void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++;}bool vis[N];void dfs(){ memset(ans,0x7ffffffff,sizeof(ans)); qu原创 2021-05-12 10:36:09 · 49 阅读 · 0 评论 -
ACwing 846. 树的重心(树的深度优先遍历
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int h[N*2],e[N*2],ne[N*2],idx,ans=N;//无向图 双倍边bool vis[N];int n;void add(int a,int b){ e[idx]=b,ne[idx]=h[a],h[a]=idx++;}int dfs(int u){ int res=0;//存储删除节点后 最大的联通节原创 2021-05-12 10:14:59 · 142 阅读 · 0 评论 -
ACWing 803. 区间合并
添加链接描述#include<bits/stdc++.h>using namespace std;typedef pair<int,int> pii;vector<pii>v,res;int main(){ int n; cin>>n; while(n--) { int l,r; cin>>l>>r; v.push_back({l,r});原创 2021-05-11 16:47:09 · 112 阅读 · 0 评论 -
ACwing 827 双链表
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int l[N],r[N],idx=0,e[N];void init(){ r[0]=1; l[1]=0; idx=2;}void insert(int k,int x){ e[idx]=x; r[idx]=r[k]; l[idx]=k; l[r[k]]=idx; r[k]=idx原创 2021-05-08 20:24:45 · 91 阅读 · 0 评论 -
ACwing 826. 单链表
添加链接描述#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int e[N],ne[N],idx=0,head=-1;void add_head(int x){ e[idx]=x,ne[idx]=head,head=idx++;}void insert(int k,int x){ e[idx]=x,ne[idx]=ne[k],ne[k]=idx++;}void remove(int原创 2021-05-08 20:10:03 · 99 阅读 · 0 评论 -
AcWing 803. 区间合并 (模板
#include<bits/stdc++.h>using namespace std;typedef pair<int,int> pii;vector<pii>v,res;int main(){ int n; cin>>n; while(n--){ int l,r; cin>>l>>r; v.push_back({l,r}); } sort(v.begin(),v.end());.//贪心枚举 int s原创 2021-05-05 16:01:21 · 99 阅读 · 0 评论 -
蓝桥杯 试题 历届试题 小数第n位(同余公式模板
试题 历届试题 小数第n位资源限制时间限制:1.0s 内存限制:256.0MB问题描述 我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。 如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始的3位数。输入格式 一行三个整数:a b n,用空格分开。a是被除数,b是除数,n是所求的小数后位置(0<a,b,n<1000000000)输出格式 一行3位数字,表示:a除以b,小数后第n位原创 2021-03-03 16:42:13 · 139 阅读 · 1 评论