- 博客(7)
- 收藏
- 关注
原创 倍增LCA
倍增LCA#define maxn 100005using namespace std;int n,m,s,t;int dep[maxn],head[maxn],f[maxn][20];struct node{ int to; int next;}e[maxn];inline void add(int u,int v){ ++t; e[t].to = v; e[...
2019-11-08 15:17:37
117
原创 离散化
离散化for(int i=1;i<=n;i++) { cin>>a[i]; t[i] = a[i]; } sort(t+1,t+n+1); int m = unique(t+1,t+n+1)-t-1; for(int i=1;i<=n;i++) { a[i] = lower_bound(t+1,t+m+1,a[i])-t; }
2019-11-06 13:58:53
159
原创 线性筛质数
线性筛质数#include<bits/stdc++.h>#define maxn 100005using namespace std;int n,m;int prime[maxn],v[maxn]; inline void primes(int n){ memset(v,0,sizeof(v)); m = 0; for(int i=2;i<=n;i++)...
2019-11-05 16:32:56
166
原创 归并排序逆序对
归并排序逆序对#include<bits/stdc++.h>using namespace std;int n,ans;int a[100],t[100];inline void merge_sort(int l,int r){ if(l==r) return ; int mid = (l+r)>>1; merge_sort(l,mid); merge...
2019-11-04 21:20:28
117
原创 快速幂
快速幂板子#include<bits/stdc++.h>#define ll long longusing namespace std;ll b,p,k;inline ll ksm(ll a,ll b,ll mod){ if(b==0) return 1%mod; if(b==1) return a%mod; ll t = ksm(a,b/2,mod); t *...
2019-10-31 14:16:08
95
原创 dijkstra
单源最短路dijkstra#include<bits/stdc++.h>using namespace std;const int maxn = 100005;priority_queue<pair<int,int> >qwq;int n,m,s,t;int dis[maxn],head[maxn];bool vis[maxn];struct ...
2019-10-31 14:01:06
183
原创 最短路径
最短路Floyed——弗洛伊德 O(N^3)最简单的算法适用于出现负边权的情况for(int k=1;k<=n;k++) //中间点k for(int i=1;i<=n;i++) //起点i for(int j=1;j<=n;j++) //终点j if(dis[i][j]>dis[i][k]+dis[k][...
2019-08-12 19:30:33
176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人