由于在学带权并查集的过程中不断的自闭,决定分步写这个专题的题解

1.POJ 2236 Wireless Network

普通并查集,把点亮的网络跟每一个距离内的连通

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
int n,m,k,d;
int a[300005];
inline int read()
{int x=0,f=1;char c=getchar();while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();}while(c>='0'&&c<='9') x=(x<<3)+(x<<1)+(c^48),c=getchar();return x*f;
}
inline bool juli(double x1,double y1,double x2,double y2){return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))<=d;
}
int find(int x){if(x==a[x])return x;else a[x]=find(a[x]);
}
void hb(int x,int y){a[find(x)]=find(y);return;
}
struct node{double x,y;bool ok;
}pos[300005];
int main(){cin>>n>>d;for(int i=1;i<=n;i++){a[i]=i;}for(int i=1;i<=n;i++){pos[i].x=read();pos[i].y=read();pos[i].ok=false;}char ch;int t,p;while(scanf("%c",&ch)!=EOF){if(ch=='O'){t=read();if(pos[t].ok)continue;pos[t].ok=true;for(int i=1;i<=n;i++){if(pos[i].ok==true&&juli(pos[i].x,pos[i].y,pos[t].x,pos[t].y)){hb(i,t);}}}else{t=read(),p=read();if(find(t)==find(p))printf("SUCCESS\n");else printf("FAIL\n");}}return 0;
}

2.POJ 1611 The Suspects

求多少人跟0在同一集合

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
inline int read()
{int x=0,k=1; char c=getchar();while(c<'0'||c>'9'){if(c=='-')k=-1;c=getchar();}while(c>='0'&&c<='9')x=(x<<3)+(x<<1)+(c^48),c=getchar();return x*k;
}
int n,m,k,t,p1,p2,ans;
int a[30005];
int find(int x){if(x==a[x])return x;return a[x]=find(a[x]);
}
void hb(int x,int y){if(x>y)swap(x,y);a[find(y)]=find(x);return;
}
int main(){while(cin>>n>>m){for(int i=0;i<n;i++){a[i]=i;}ans=1;if(n==0&&m==0)break;vector<int>v;for(int i=1;i<=m;i++){k=read(),p1=read();for(int j=2;j<=k;j++){p2=read();hb(p1,p2);}}for(int i=1;i<n;i++){if(find(i)==find(0))ans++;}cout<<ans<<endl;}
}

3.HDU 1213 How Many Tables

求有多少个不同的集合

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
inline int read()
{int x=0,k=1; char c=getchar();while(c<'0'||c>'9'){if(c=='-')k=-1;c=getchar();}while(c>='0'&&c<='9')x=(x<<3)+(x<<1)+(c^48),c=getchar();return x*k;
}
int n,m,k,t,p1,p2,ans;
int a[30005];
int find(int x){if(x==a[x])return x;return a[x]=find(a[x]);
}
void hb(int x,int y){if(x>y)swap(x,y);a[find(y)]=find(x);return;
}
int vis[5005];
int main(){cin>>t;while(t--){cin>>n>>m;ans=0;for(int i=0;i<=n;i++){a[i]=i;}for(int i=1;i<=m;i++){int x,y;x=read(),y=read();hb(x,y);}for(int i=1;i<=n;i++){if(vis[find(i)]==0){ans++;vis[find(i)]++;}}memset(vis,0,sizeof(vis));cout<<ans<<endl;}return 0;
}

4.HDU 3038 How Many Answers Are Wrong

带权并查集的模板,自闭的开始
我目前对它的理解就是,用每个点跟祖先的距离前缀和(如果给的是区间)or值(给的是两个单点)来记录信息,如果是同一祖先,判断两个点的距离差是否满足条件,如果不在同一集合,就将a的祖先连到b的祖先上,并赋上权值

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
inline int read()
{int x=0,k=1; char c=getchar();while(c<'0'||c>'9'){if(c=='-')k=-1;c=getchar();}while(c>='0'&&c<='9')x=(x<<3)+(x<<1)+(c^48),c=getchar();return x*k;
}
int n,m,k,ans;
int a[200005];
int d[200005];
int find(int x){if(x==a[x])return x;int t=find(a[x]);d[x]+=d[a[x]];a[x]=t;return t;
}
void hb(int x,int y){if(x>y)swap(x,y);a[find(y)]=find(x);return;
}
int main(){while(~scanf("%d %d",&n,&m)){ans=0;for(int i=0;i<=n;i++){a[i]=i;d[i]=0;}for(int i=1;i<=m;i++){int x,y,z;x=read(),y=read(),z=read();x--;int fx=find(x);int fy=find(y);if(fx==fy&&d[y]-d[x]!=z){ans++;continue;}else if(fx!=fy){a[fx]=fy;d[fx]=d[y]-d[x]-z;}}cout<<ans<<endl;}return 0;
}

5.POJ 1182 食物链

最经典的例题,有两种写法,种群并查集和带权
带权的写法就是判断 %3相关,如果d[x]-d[y]%3==0说明是同种生物 ==1代表捕食 ==2代表被捕食这样子

带权写法

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
int n,m,k,t,ans,f[50005],d[50005];
inline int read()
{int x=0,k=1; char c=getchar();while(c<'0'||c>'9'){if(c=='-')k=-1;c=getchar();}while(c>='0'&&c<='9')x=(x<<3)+(x<<1)+(c^48),c=getchar();return x*k;
}int find(int x){if(f[x]==x)return x;int root=f[x];f[x]=find(f[x]);d[x]=(d[x]+d[root])%3;return f[x];
}
void hb(int x,int y,int z){int fx=find(x);int fy=find(y);f[fy]=fx;d[fy]=(d[x]-d[y]+3+z-1)%3;
}
int main(){cin>>n>>k;ans=0;for(int i=1;i<=n;i++){f[i]=i;d[i]=0;}for(int i=1;i<=k;i++){int tt,x,y;tt=read(),x=read(),y=read();if(x>n||y>n){ans++;continue;}else if(tt==2&&x==y){ans++;continue;}int fx=find(x);int fy=find(y);if(fx==fy){if(tt==1&&d[x]!=d[y])ans++;if(tt==2&&(d[x]+1+3)%3!=d[y])ans++;}else{hb(x,y,tt);}}cout<<ans;return 0;
}

种族并查集写法:开个3*n的数组,每次分别存a,b,c的关系

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
int a[150005],n,m,k,t,ans;
inline int read()
{int x=0,k=1; char c=getchar();while(c<'0'||c>'9'){if(c=='-')k=-1;c=getchar();}while(c>='0'&&c<='9')x=(x<<3)+(x<<1)+(c^48),c=getchar();return x*k;
}
int find(int x){if(x==a[x])return x;return a[x]=find(a[x]);
}
bool same(int x,int y){return find(x)==find(y);
}
void unite(int x,int y){x=find(x);y=find(y);if(x==y)return;a[x]=y;
}
int main(){cin>>n>>k;{ans=0;for(int i=0;i<n*3;i++){a[i]=i;}for(int i=1;i<=k;i++){t=read();int x,y;x=read(),y=read();x--,y--;if(x<0||y<0||x>=n||y>=n){ans++;continue;}if(t==1){if(same(x,y+n)||same(x,y+2*n)){ans++;continue;}else{unite(x,y);unite(x+n,y+n);unite(x+2*n,y+2*n);}}else{if(same(x,y)||same(x,y+2*n)){ans++;continue;}else{unite(x,y+n);unite(x+n,y+2*n);unite(x+2*n,y);}}}cout<<ans<<endl;}
}

6.POJ 1417 True Liars

带权+dp 以后补

7.POJ 1456 Supermarket

先按价值排序,然后遍历,如果在这个商品的到期日之前还有剩余的日子就可以买它,否则跳过

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
int n,m,k,t,ans,f[10005];
inline int read()
{int x=0,k=1; char c=getchar();while(c<'0'||c>'9'){if(c=='-')k=-1;c=getchar();}while(c>='0'&&c<='9')x=(x<<3)+(x<<1)+(c^48),c=getchar();return x*k;
}
struct node{int s,d;
}a[10005];
bool cmp(node a,node b){return a.s>b.s;
}
int find(int x){if(f[x]==-1)return x;return f[x]=find(f[x]);
}
int main(){while(cin>>n){ans=0;memset(f,-1,sizeof(f));memset(a,0,sizeof(a));for(int i=1;i<=n;i++){a[i].s=read();a[i].d=read();}sort(a+1,a+1+n,cmp);for(int i=1;i<=n;i++){int t=find(a[i].d);if(t>0){ans+=a[i].s;f[t]=t-1;}}cout<<ans<<endl;}
}

8.POJ 1733 Parity game

数据很大所以要离散化
前缀和数组,d[y]^d[x]=0即为偶数,为1则是奇数

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
int n,m,k,t,ans,f[50005],d[50005];
map<int,int>mp;
int cnt=0;
inline int read()
{int x=0,k=1; char c=getchar();while(c<'0'||c>'9'){if(c=='-')k=-1;c=getchar();}while(c>='0'&&c<='9')x=(x<<3)+(x<<1)+(c^48),c=getchar();return x*k;
}
int lis(int x){if(mp.find(x)==mp.end())mp[x]=cnt++;return mp[x];
}
int find(int x){if(f[x]==-1)return x;int root=find(f[x]);d[x]^=d[f[x]];f[x]=root;return f[x];
}
bool hb(int x,int y,int z){int fx=find(x);int fy=find(y);if(fx==fy){if(d[x]^d[y]==z){ans++;return true;}else return false;}else{f[fx]=fy;d[fx]=d[x]^d[y]^z;ans++;return true;}
}
int main(){cin>>n>>k;ans=0;int fa=0;for(int i=0;i<=50005;i++){f[i]=-1;d[i]=0;}for(int i=1;i<=k;i++){int x,y;string a;x=read(),y=read();if(x>y)swap(x,y);x=lis(x-1);y=lis(y);cin>>a;if(fa==1)continue;int w;if(a[0]=='e')w=0;else w=1;if(hb(x,y,w)==false)fa=1;}cout<<ans;return 0;
}

9.POJ 1984 Navigation Nightmare

其实在被带权折磨几天理解带权并查集的核心思想之后
这题好像也就是个水题(?)
只不过变成了二维,然后题目的查询中要求遍历到第I条信息的时候的曼哈顿距离,可以先用结构体把之前的信息都存起来,在询问的过程中合并就可以了

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
int dx[50005],dy[50005];
int f[50005];
int n,m,k,a,b,l,d,dd;
struct node{int a,b,l;char d[10];
}e[50005];
int find(int x){if(x==f[x])return x;int root=find(f[x]);dx[x]+=dx[f[x]];dy[x]+=dy[f[x]];f[x]=root;return f[x];
}
void hb(int x,int y,char d,int z){int fx=find(x);int fy=find(y);f[fy]=fx;if(d=='W'){dx[fy]=dx[x]-dx[y]-z;dy[fy]=dy[x]-dy[y];}if(d=='E'){dx[fy]=dx[x]-dx[y]+z;dy[fy]=dy[x]-dy[y];}if(d=='N'){dx[fy]=dx[x]-dx[y];dy[fy]=dy[x]-dy[y]+z;}if(d=='S'){dx[fy]=dx[x]-dx[y];dy[fy]=dy[x]-dy[y]-z;}
}
int main(){cin>>n>>m;for(int i=1;i<=n;i++){f[i]=i;dx[i]=0;dy[i]=0;}for(int i=1;i<=m;i++){scanf("%d%d%d%s",&e[i].a,&e[i].b,&e[i].l,e[i].d);}scanf("%d",&k);for(int i=1,j=1;i<=k;i++){int x,y,dd;scanf("%d%d%d",&x,&y,&dd);while(j<=dd){int xx=e[j].a;int yy=e[j].b;int fx=find(xx);int fy=find(yy);if(fx!=fy){hb(e[j].a,e[j].b,e[j].d[0],e[j].l);}j++;}int fx=find(x);int fy=find(y);if(fx!=fy){printf("-1\n");}else{int s=abs(dy[y]-dy[x])+abs(dx[y]-dx[x]);printf("%d\n",s);}}return 0;
}

10.POJ 2492 A Bug’s Life

其实跟食物链是同一个题,只不过那题要%3这题%2,而%2的情况就可以用 异或^ 来代替

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
inline int read()
{int x=0,k=1; char c=getchar();while(c<'0'||c>'9'){if(c=='-')k=-1;c=getchar();}while(c>='0'&&c<='9')x=(x<<3)+(x<<1)+(c^48),c=getchar();return x*k;
}
int f[50005],d[50005],n,m,k;
int find(int x){if(f[x]==x)return x;int root=find(f[x]);d[x]^=d[f[x]];return f[x]=root;
}
int main(){int tt;cin>>tt;for(int l=1;l<=tt;l++){int fa=0;n=read(),m=read();for(int i=0;i<=n;i++){f[i]=i;d[i]=0;}for(int i=1;i<=m;i++){int x,y;scanf("%d %d",&x,&y);if(fa)continue;int fx=find(x);int fy=find(y);if(fx==fy){if(d[x]==d[y]){fa=1;}}else{f[fy]=fx;d[fy]=d[x]^d[y]^1;}}if(fa){printf("Scenario #%d:\n",l);printf("Suspicious bugs found!\n\n");}else{printf("Scenario #%d:\n",l);printf("No suspicious bugs found!\n\n");}}return 0;
}

11.POJ 2912 Rochambeau

本质上也跟食物链是一样的,根据> <符号判断两个人之间的关系,存入结构体,对每一个人进行判断,如果没有这个人是否会使其他人的轮次不合逻辑,如果有,存下这个人编号并break,最后判断有多少这样的judge,如果大于等于2,则无法判断谁才是judge,如果只有一人,则输出最后一个判断出逻辑错误的事件编号

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
int f[5005],d[5005],pos[5005];
int n,m;
struct node{int x,y;char ch;
}a[5005];
int find(int x){if(f[x]==x)return x;int root=find(f[x]);;d[x]+=d[f[x]];f[x]=root;return f[x];
}
bool hb(int x,int y,int z){int fx=find(x);int fy=find(y);if(fx==fy&&(d[x]-d[y]-z)%3)return false;else if(fx!=fy){f[fx]=fy;d[fx]=d[y]-d[x]+z;}return true;
}
int main(){while(cin>>n>>m){memset(pos,0,sizeof(pos));for(int i=1;i<=m;i++){scanf("%d%c%d",&a[i].x,&a[i].ch,&a[i].y);if(a[i].ch=='<')swap(a[i].x,a[i].y);}for(int i=0;i<n;i++){for(int j=0;j<n;j++){f[j]=j;d[j]=0;}for(int j=1;j<=m;j++){int x=a[j].x,y=a[j].y;if(x==i||y==i)continue;if(!hb(x,y,a[j].ch!='=')){pos[i]=j;break;}}}int cnt=0,ans=0,id;for(int i=0;i<n;i++){if(!pos[i]){cnt++;id=i;}ans=max(ans,pos[i]);}if(cnt==0)printf("Impossible\n");else if(cnt>1)printf("Can not determine\n");else printf("Player %d can be determined to be the judge after %d lines\n", id, ans);}return 0;
}

12.ZOJ 3261 Connections in Galaxy War

这题最骚的一个点就是要删边,想破头也不知道怎么处理好
看了题解记录用map每一个要删的边,不删的先连起来,然后反向遍历,遍历到要删的边的时候再把它连起来,这样就不会影响到后面的结果了
想出这个的真的不容易%%%
(提醒要注意反向的思想)

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
int n,m,k,f[50005],d[50005],a[500005],w[50005],num[50005],ans[50005];
int ok;
map<pair<int,int>,int>mp;
struct node{int x,y;char s[50];
}q[50005];
struct nodd{int x,y;
}e[50005];
int find(int x){if(x==f[x])return x;return f[x]=find(f[x]);
}
void hb(int x,int y){int fx=find(x);int fy=find(y);f[fy]=fx;if(w[fx]<w[fy]){w[fx]=w[fy];num[fx]=num[fy];}else if(w[fx]==w[fy]){num[fx]=min(num[fx],num[fy]);}
}
int main(){while(cin>>n){mp.clear();for(int i=0;i<n;i++){scanf("%d",&a[i]);f[i]=i;num[i]=i;w[i]=a[i];}cin>>m;for(int i=1;i<=m;i++){scanf("%d %d",&e[i].x,&e[i].y);}cin>>k;for(int i=1;i<=k;i++){scanf("%s",q[i].s);if(q[i].s[0]=='q')scanf("%d",&q[i].x);else{scanf("%d %d",&q[i].x,&q[i].y);mp[make_pair(q[i].x,q[i].y)]=1;mp[make_pair(q[i].y,q[i].x)]=1;}}for(int i=1;i<=m;i++){int x=e[i].x,y=e[i].y;if(!mp[make_pair(x,y)])hb(x,y);}int cnt=0;for(int i=k;i>=1;i--){int x=q[i].x,y=q[i].y;if(q[i].s[0]=='d')hb(x,y);else{int fx=find(x);if(w[fx]>a[x])ans[++cnt]=num[fx];else ans[++cnt]=-1;}}if(ok)cout<<endl;ok=1;for(int i=cnt;i>=1;i--)printf("%d\n",ans[i]);}return 0;
}

13.HDU 1272 小希的迷宫

我以为这题正解要存边点并记录入并查集判断最终是否所有点全部连通,并且边数==点数-1,32mb内存限制直接MLE了,事实证明这个水数据不需要判断是否连通,直接判断点数和边数就可以了,好无语…

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <set>
#include <queue>
#include <vector>
#include <cmath>
#include <map>
using namespace std;
int n,m;
int f[100005];
int find(int x){if(x==f[x])return x;return f[x]=find(f[x]);
}
struct edge{int u,v;
};
void hb(int x,int y){int fx=find(x);int fy=find(y);f[fx]=fy;
}
set<int>s;
//vector<int>d;
int main(){while(cin>>n>>m){if(n==-1&&m==-1)break;if(n==0){printf("Yes\n");continue;}// for(int i=1;i<=100005;i++){//        f[i]=i;//  }s.clear();//   d.clear();int fa=0;int cnt=0;s.insert(n),s.insert(m),cnt++;//   d.push_back(n);//   d.push_back(m);//   hb(n,m);while(cin>>n>>m){if(m==0&&n==0)break;s.insert(n),s.insert(m),cnt++;//     d.push_back(n);//   d.push_back(m);//   hb(n,m);}if(s.size()-1==cnt)fa=1;//  for(int i=0;i<d.size();i++){//          if(find(d[0])!=find(d[i]))fa=0;
//      }if(fa==1){printf("Yes\n");}else{printf("No\n");}}return 0;
}

14.POJ 1308 Is It A Tree?

跟上一题一模一样
end.

被带权并查集虐的自闭了好几天
然后发现发现其实也没有想象中那么难(?)
核心思想就是处理每个点跟祖先的距离关系(?)去回答题目询问的信息
所以说,被虐的时候不要放弃,要相信自己,每天都有新的自闭!奥利给!

刷题记录 kuangbin带你飞专题五:并查集相关推荐

  1. [kuangbin带你飞]专题五 并查集 题解+总结

    kuangbin带你飞:点击进入新世界 总结: 本人算是初学者中的初学者,欢迎交流~ 并查集的接触过的不多,大概只有普通并查集,带权并查集,种族并查集,传说中的可持续化并查集只是听说过还没有接触,不过 ...

  2. [kuangbin带你飞]专题五 并查集 A - Wireless Network

    A - Wireless Network 题目链接:https://vjudge.net/contest/66964#problem/A 题目: An earthquake takes place i ...

  3. [kuangbin带你飞]专题五 并查集 E - 食物链 (带权并查集)

    E - 食物链 题目链接:https://vjudge.net/contest/66964#problem/E 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C ...

  4. hdu 1213 How Many Tables ([kuangbin带你飞]专题五 并查集)

    点击打开链接 C - How Many Tables Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & ...

  5. [kuangbin带你飞]专题五查并集

    写了几个查并集得题,成功把自己写晕了 之后写下面得题(写不下去了) **poj-2912 poj 文章目录 1.POJ - 1611(模板题) 2.HDU - 1213(模板题) 3.poj2236( ...

  6. kuangbin带你飞专题合集

    题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...

  7. kuangbin带你飞 专题1-23 题单

    kuangbin大神,对于打过ACM比赛的ACMer,无人不知无人不晓. 在此,附上vjudge平台上一位大神整理的[kuangbin带你飞]专题目录链接. [kuangbin带你飞专题目录1-23] ...

  8. “kuangbin带你飞”专题计划——专题十四:数论基础

    写在前面 1.目前还没啥写的.开始时间:2021-05-13(其实博客上看得到该博客创建时间的) 2.上一个专题刷的是网络流(博客总结),属于第一次接触.本来想的是一周特别高效,然后一周略划水,结果是 ...

  9. (2021-07-14~)“kuangbin带你飞”专题计划——专题十三:基础计算几何

    目录 前言 参考博客 自己总结的东西: 难度判断? 题目 1.[TOYS POJ - 2318 ](解决) 2.[Toy Storage POJ - 2398 ](解决) 3.[Segments PO ...

  10. $2019$ 暑期刷题记录 $2$(基本算法专题)

    $ 2019 $ 暑期刷题记录 $ 2 $ (基本算法专题) $ by~~wch $ $ BZOJ~1958~Strange~Towers~of~Hanoi $ (动态规划,递推) 题目大意: 求有 ...

最新文章

  1. python中文叫什么意思-在python中%是什么意思
  2. ECCV 2020 Spotlight | 多标签长尾识别前沿进展
  3. 文件系统raw什么意思oracle,raw扫盲
  4. 长路漫漫,唯剑作伴--Automatic Reference Counting
  5. java对象流读取完毕_从Java 8流中获取具有最大频率的对象
  6. 17-比赛2 C - Maze (dfs)
  7. django-模板的功能与配置
  8. 如何使用Restic Backup Client将数据备份到对象存储服务
  9. 《李焕英》票房反超,全靠《唐探3》衬托?
  10. java实现调查问卷_智能办公进行时丨富士施乐邀您参与有奖问卷调查
  11. 关于IT测试中的一些问题。
  12. kettle中的switch_kettle 教程(三):条件判断 Switch Case
  13. 专利申请--权利要求书vs说明书
  14. 计算机知识竞赛的策划案,计算机趣味知识竞赛活动策划书
  15. Qt 二维码文件传输工具
  16. C++递归完成汉诺塔游戏(超详细解读)
  17. 曾经的习武少年,如今的锦佰安CEO:他立志要开启身份认证的无密时代
  18. 二、编写输出“Hello World”
  19. linux查看内存命令(查看进程虚拟内存)free命令、vmstat命令、pmap命令(free指令、vmstat指令、pmap指令)
  20. UML-1.用例图 用例表

热门文章

  1. apache的虚拟目录配置
  2. Flash对联广告及关闭按钮的制作
  3. 杭电oj-----叠筐
  4. 调剂2002年计算机科学与技术,东莞理工学院2020年硕士研究生调剂信息公告 (计算机科学与技术、资源与环境专业(原...
  5. 代码文件夹带有红色感叹号_接口测试平台代码实现7:菜单的开发
  6. php 图像居中裁剪函数,php中自定义图像居中裁剪函数实现的代码案例
  7. shortest path problem
  8. 山大网络计算机基础知识模拟,山大网络教育计算机系统结构模拟试卷1
  9. lisp princ详解_LISP-输入和输出
  10. C语言数组旋转问题(C笔记)