![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
2周记
Hzy_hzy_hzy
世间万物生生衍息······ 你找到生命的存在了吗?
展开
-
逆序对-树状数组-1
#includeusing namespace std;const int maxn=1001000,N=101000;typedef long long ll;int n,c1[maxn],c2[maxn],a[N],b[N];ll totol[N];void init(){ for(int i=1;i<N;i++) totol[i]=totol[i-1]+i;原创 2017-02-21 17:20:28 · 278 阅读 · 0 评论 -
并查集优化下-3
#includeusing namespace std;const int N=10000,M=100000;int f[N+100];int siz[N+100];struct nodes{ int u,v,w;}node[M+100];bool cmp(nodes p,nodes q){ return p.w>q.w;}void init(int n){原创 2017-03-06 16:07:25 · 245 阅读 · 0 评论 -
dp-3
#includeusing namespace std;typedef long long ll;const int N=1000,mod=1000000007;ll a[N+10],b[N+10];int main(){ int n; scanf("%d",&n); b[1]=1; for(int i=2;i<=n;i++) b[i]=(b[i-1]*原创 2017-03-09 20:50:47 · 329 阅读 · 0 评论 -
stl-优先队列-4
#includeusing namespace std;int n,m;int book[110][110][12];char a[110][110];struct nodes{int x,y;};struct node{ int x,y,step,num; vectors; friend bool operator q.step;}};priority_原创 2017-03-20 14:26:35 · 326 阅读 · 0 评论 -
stl优化-3
#includeusing namespace std;const int N=200000;int color[N+100];int f[N+100];int knum[N+100],book[N+100];void init(int n){ for(int i=1;i<=n;i++) f[i]=i;}int found(int x){ if(x==f[x])原创 2017-03-13 23:18:00 · 590 阅读 · 0 评论 -
kruskal-边的贪心(并查集优化)-3
#includeusing namespace std;const int N=1e4;int f[N+100],siz[N+100];int c[N+100];struct node{int u,v,w;}edge[N*20];bool cmp(node p,node q){return p.w<q.w;}void init(int n){for(int i=0;i<=n;i++)原创 2017-03-10 15:49:42 · 280 阅读 · 0 评论 -
规律题-3
#includeusing namespace std;const int maxn=1e9;int main(){ int nn,mm; while(scanf("%d%d",&nn,&mm)!=EOF) { int n,m;n=min(nn,mm);m=max(nn,mm); int rn=sqrt(n),rm=sqrt(m); int原创 2017-03-13 23:13:17 · 232 阅读 · 0 评论 -
深搜-4
1.传数组问题,指向的是同一空间。递归传数组时,在这一层开个临时数组然后传,下一层就能访问这个临时数组了。定义一个数组,然后传,不开临时数组,,相当于没传。2.递归终止条件控制问题。3.回溯问题。#includeusing namespace std;const int N=1e3;struct node{ int x,y;}a[100],b[100];int n,m,k;i原创 2017-03-30 09:45:09 · 381 阅读 · 0 评论 -
基础数学-4
#includeusing namespace std;typedef long long ll;const int N=1e5,mod=1000000007;ll a[N+100];ll quick_mod(ll a,ll b)(快速幂){ ll ans=1; a%=mod; while(b) { if(b&1){ans=ans*a%m原创 2017-03-15 09:03:03 · 306 阅读 · 0 评论 -
图的深搜练习-2
#includeusing namespace std;const int N=1000;int a[N+10][N+10];int book[N+10];int n,m,start,goal;int rec[N+10];int c[N+10];int sum;void f(int num){ for(int i=1;i<=num-2;i++) //num-2 en原创 2017-03-05 17:56:26 · 268 阅读 · 0 评论 -
康托展开+bfs-2
#includeusing namespace std;const int N=3628800;char str[12],goal[12];int book[N+1000];int f[10];int next[4][2]={{0,1},{1,0},{0,-1},{-1,0}};int maps[4][4];void init(){ f[0]=1; for(int原创 2017-03-05 14:06:29 · 236 阅读 · 0 评论 -
dp+搜索-1
#includeusing namespace std;int a[55][55],c[55][55][15][15];int n,m,k;const int mod=1000000007;int dfs(int x,int y,int num,int value){ if(c[x][y][num][value]!=-1) return c[x][y][num][value];原创 2017-02-22 19:55:02 · 412 阅读 · 0 评论 -
dp+搜索(图,链式前向星存储)-1
#includeusing namespace std;const int maxn=100010;typedef long long ll;ll ans=0;int head[maxn],m=1;int f[maxn];int p[maxn],dp[maxn];struct edges{ int to,next,w;}edge[maxn];ll max(ll x,l原创 2017-02-24 19:58:20 · 265 阅读 · 0 评论 -
算算手速多少?-1
#includeusing namespace std;const int N=500;int a[N+10][N+10],n,m,startx,starty,endx,endy;char str[N+10][N+10];int next[4][2]={0,1,1,0,0,-1,-1,0};int book[N+10][N+10];struct f{ int x,y;}b原创 2017-02-26 14:11:39 · 959 阅读 · 0 评论 -
dp+搜索-2
#includeusing namespace std;const int N=110;char str[N];int n,m,num;int pos[N];int dp[N][N][N],f[N][N][N];int kcase;int abs(int x){return x>0?x:-x;}int dfs(int k,int lp,int tim){ if(f[k]原创 2017-03-01 20:00:00 · 319 阅读 · 0 评论 -
简单基础深搜-2
#includeusing namespace std;int n,m,ans,sum;int a[12][12],book[12][12];int next[4][2]={{0,1},{1,0},{0,-1},{-1,0}};void dfs(int x,int y,int num,int s){ if(s>sum) return; if(s==sum) {原创 2017-03-03 15:06:58 · 261 阅读 · 0 评论 -
并查集或图floyd-2
#includeusing namespace std;const int N=300;int a[N+10][N+10];char str[N+10];int num[N+10];void floyd(int n){ for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++)原创 2017-02-27 17:47:58 · 202 阅读 · 0 评论 -
暴力-1
#includeusing namespace std;typedef long long ll;const int N=100000;int a[N+100],cnt[N+100];struct edges{ int to; int next;}edge[N+100];int head[N+100],mx;void add(int u,int v){原创 2017-02-27 16:21:10 · 247 阅读 · 0 评论 -
‘压缩’-4
#include //以列宽为突破点using namespace std;const int N=5e3;char str[N+100];int s[N+100][N+100];int main(){ int n,m; scanf("%d%d",&n,&m); for(int i=0;i<n;i++) { scanf("%s",str)原创 2017-03-17 20:22:59 · 241 阅读 · 0 评论 -
并查集-4
#include//找有根树book掉再找环逐一book掉再合并。using namespace std;const int N=2*1e5;int a[N+100];int num[N+100],book[N+100];int p,m;struct nodes{ int to,next;}edge[2*N+100],edge1[2*N+100];int head[N+1原创 2017-03-17 09:39:06 · 199 阅读 · 0 评论