当前位置: 首页 > news >正文

莒南建设局网站招聘网站开发设计文档

莒南建设局网站,招聘网站开发设计文档,为什么网站很少做全屏,网上如何做广告文章目录 前言A - Dijkstra Algorithm0x00 算法题目0x01 算法思路0x02 代码实现 B - 最长路0x00 算法题目0x01 算法思路0x02 代码实现 C - 二分图最大匹配0x00 算法题目0x01 算法思路0x02 代码实现 D - 搭配飞行员0x00 算法题目0x01 算法思路0x02 代码实现 E - The Perfect Sta… 文章目录 前言A - Dijkstra Algorithm0x00 算法题目0x01 算法思路0x02 代码实现 B - 最长路0x00 算法题目0x01 算法思路0x02 代码实现 C - 二分图最大匹配0x00 算法题目0x01 算法思路0x02 代码实现 D - 搭配飞行员0x00 算法题目0x01 算法思路0x02 代码实现 E - The Perfect Stall0x00 算法题目0x01 算法思路0x02 代码实现 F - Asteroids0x00 算法题目0x01 算法思路0x02 代码实现 G - Til the Cows Come Home0x00 算法题目0x01 算法思路0x02 代码实现 H - 拓扑排序0x00 算法题目0x01 算法思路0x02 代码实现 总结 前言 最短路Dijkstraspfa图论二分图算法AYIT—ACM训练(模板版) A — Dijkstra B — spfa/Dijkstra C — 二分图 D — 二分图 E — 二分图 F — 二分图 G — Dijkstra H — Topsort A - Dijkstra Algorithm 0x00 算法题目 0x01 算法思路 Dijkstra算法基础模板题 模板演示 int dijkstra() {memset(dist,0x3f,sizeof dist);dist[1]0;for(int i0;in;i){int t-1;for(int j1;jn;j){if(!st[j] (t-1 || dist[t] dist[j]))tj;}st[t]true;for(int j1;jn;j)dist[j]min(dist[j],dist[t]g[t][j]);}if(dist[n]0x3f3f3f3f) return -1;return dist[n];}0x02 代码实现 朴素版本Dijkstra 代码演示 #includeiostream #includecstring #includealgorithmusing namespace std; const int N 510; int g[N][N]; bool st[N]; int dist[N]; int n,s,f;int dijkstra() {memset(dist,0x3f,sizeof dist);dist[s]0;for(int i0;in;i){int t-1;for(int j1;jn;j)if(!st[j] (t-1 || dist[t] dist[j]))tj;st[t]true;for(int j1;jn;j)dist[j]min(dist[j],dist[t]g[t][j]);}if(dist[f]0x3f3f3f3f) return -1;return dist[f]; }int main() {cinnsf;for(int i1;in;i){for(int j1;jn;j){int x;cinx;if(x-1) g[i][j]0x3f3f3f3f;else g[i][j]x;}}int t dijkstra();couttendl;return 0; } 运行结果 spfa算法 代码演示 #includeiostream #includecstring #includealgorithm #includequeueusing namespace std; const int N110,M110*110; int n,s,f; bool st[N]; int h[N],w[M],ne[M],e[M],idx; int dist[N];void add(int a,int b,int c) {e[idx]b,w[idx]c,ne[idx]h[a],h[a]idx; }int spfa() {memset(dist,0x3f,sizeof dist);dist[s]0;queueint q;q.push(s);while(q.size()){int t q.front();q.pop();st[t]false;for(int ih[t];i!-1;ine[i]){int je[i];if(dist[j] dist[t] w[i]){dist[j]dist[t]w[i];if(!st[j]){q.push(j);st[j]true;}}}}if(dist[f]0x3f3f3f3f) return -1;else return dist[f]; }int main() {cinnsf;memset(h,-1,sizeof h);for(int i1;in;i){for(int j1;jn;j){int x;cinx;//if(x-1) continue;if(x0) add(i,j,x);}}coutspfa()endl;return 0; } 运行结果 B - 最长路 0x00 算法题目 0x01 算法思路 spfa算法基础模板题 模板演示 int spfa() {memset(dist, 0x3f, sizeof dist);dist[1] 0;queueint q;q.push(1);while(q.size()){auto t q.front();q.pop();st[t]false;for(int ih[t];i!-1;ine[i]){int j e[i];if(dist[j] dist[t]w[i]){dist[j]dist[t]w[i];if(!st[j]){q.push(j);st[j]true;}}}}return dist[n]; }0x02 代码实现 spfa算法 代码演示 #includebits/stdc.h #define endl \nusing namespace std; const int N 1510,INF 0x3f3f3f3f; int n,m; int dist[N]; int g[N][N]; queueint q;void spfa() {memset(dist,-1,sizeof dist);dist[1]0;q.push(1);while(!q.empty()){int t q.front();q.pop();for(int j1;jn;j){if(g[t][j] dist[j] dist[t] g[t][j]){dist[j] dist[t] g[t][j];q.push(j);}}}}int main() {cinnm;for(int i1;im;i){int a,b,c;cinabc;g[a][b]max(g[a][b],c);}spfa();coutdist[n]endl;return 0; }运行结果 C - 二分图最大匹配 0x00 算法题目 0x01 算法思路 二分图模板题 模板演示 //邻接表 bool find(int x) {for (int i h[x]; i ! -1; i ne[i]){int j e[i];if (!st[j]){st[j] true;if (match[j] 0 || find(match[j])){match[j] x;return true;}}}return false; } //邻接矩阵 bool find(int x) {for(int i0;ig[x].size();i){int j g[x][i];if(!st[j]){st[j]true;if(match[j]0 || find(match[j])){match[j]x;return true;}}}return false; }0x02 代码实现 代码演示 #includeiostream #includecstringusing namespace std;const int N 510,M5e410; int n,m,q; int h[N],e[M],ne[M],idx; int match[N]; bool st[N];void add(int a,int b) {e[idx]b,ne[idx]h[a],h[a]idx; }bool find(int x) {for(int ih[x];i!-1;ine[i]){int j e[i];if(!st[j]){st[j]true;if(match[j]0 || find(match[j])){match[j]x;return true;}}}return false; }int main() {cinnmq;memset(h,-1,sizeof h);while(q--){int u,v;cinuv;add(u,v);}int res0;for(int i1;in;i){memset(st,false,sizeof st);if(find(i)) res;}coutresendl;return 0; } 运行结果 D - 搭配飞行员 0x00 算法题目 0x01 算法思路 二分图模板题 模板演示 //邻接表 bool find(int x) {for (int i h[x]; i ! -1; i ne[i]){int j e[i];if (!st[j]){st[j] true;if (match[j] 0 || find(match[j])){match[j] x;return true;}}}return false; } //邻接矩阵 bool find(int x) {for(int i0;ig[x].size();i){int j g[x][i];if(!st[j]){st[j]true;if(match[j]0 || find(match[j])){match[j]x;return true;}}}return false; }0x02 代码实现 代码演示 #includeiostream #includecstring #includealgorithm #includebits/stdc.husing namespace std; const int N 110;int n,m; int map[N][N]; int match[N]; bool st[N]; vectorint g[N]; bool find(int x) {for(int i0;ig[x].size();i){int j g[x][i];if(!st[j]){st[j]true;if(match[j]0 || find(match[j])){match[j]x;return true;}}}return false; }int main() {scanf(%d %d,n,m);int a,b;while(cinab){g[a].push_back(b);}int res 0;for(int i1;im;i){memset(st,false,sizeof st);if(find(i)) {res;}}coutres;return 0; } 运行结果 E - The Perfect Stall 0x00 算法题目 0x01 算法思路 二分图模板题 模板演示 //邻接表 bool find(int x) {for (int i h[x]; i ! -1; i ne[i]){int j e[i];if (!st[j]){st[j] true;if (match[j] 0 || find(match[j])){match[j] x;return true;}}}return false; } //邻接矩阵 bool find(int x) {for(int i0;ig[x].size();i){int j g[x][i];if(!st[j]){st[j]true;if(match[j]0 || find(match[j])){match[j]x;return true;}}}return false; }0x02 代码实现 代码演示 #includealgorithm #includebits/stdc.h using namespace std; const int N 510,M5e410; int n,m; int match[N]; bool st[N]; vectorint g[N];bool find(int x) {for(int i0;ig[x].size();i){int j g[x][i];if(!st[j]){st[j]true;if(match[j]0 || find(match[j])){match[j]x;return true;}}}return false; }int main() {while(~scanf(%d%d,n,m)){memset(st,false,sizeof st);memset(match,0,sizeof match);for(int i1;in;i){g[i].clear();int s;cins;while(s--){int q;cinq;g[i].push_back(q);}}int res0;for(int i1;in;i){memset(st,false,sizeof st);if(find(i)) res;}coutresendl;}return 0; }运行结果 F - Asteroids 0x00 算法题目 0x01 算法思路 二分图模板题 模板演示 //邻接表 bool find(int x) {for (int i h[x]; i ! -1; i ne[i]){int j e[i];if (!st[j]){st[j] true;if (match[j] 0 || find(match[j])){match[j] x;return true;}}}return false; } //邻接矩阵 bool find(int x) {for(int i0;ig[x].size();i){int j g[x][i];if(!st[j]){st[j]true;if(match[j]0 || find(match[j])){match[j]x;return true;}}}return false; }0x02 代码实现 代码演示 #includeiostream #includecstring using namespace std; const int N 510,M5e410; int n,m,q; int h[N],e[M],ne[M],idx; int match[N]; bool st[N];void add(int a,int b) {e[idx]b,ne[idx]h[a],h[a]idx; }bool find(int x) {for(int ih[x];i!-1;ine[i]){int j e[i];if(!st[j]){st[j]true;if(match[j]0 || find(match[j])){match[j]x;return true;}}}return false; }int main() {cinnm;memset(h,-1,sizeof h);while(m--){int u,v;cinuv;add(u,v);}int res0;for(int i1;in;i){memset(st,false,sizeof st);if(find(i)) res;}coutresendl;return 0; } 运行结果 G - Til the Cows Come Home 0x00 算法题目 0x01 算法思路 Dijkstra算法基础模板题 模板演示 int dijkstra() {memset(dist,0x3f,sizeof dist);dist[1]0;for(int i0;in;i){int t-1;for(int j1;jn;j){if(!st[j] (t-1 || dist[t] dist[j]))tj;}st[t]true;for(int j1;jn;j)dist[j]min(dist[j],dist[t]g[t][j]);}if(dist[n]0x3f3f3f3f) return -1;return dist[n];}0x02 代码实现 代码演示 #includeiostream #includecstring #includealgorithm #includestdbool.husing namespace std;const int N1010,inf 0x3f3f3f3f;int n,m; bool st[N]; int dist[N]; int g[N][N];int dijkstra() {memset(dist,inf,sizeof(dist));dist[1] 0;for(int i1;i n;i){int t-1;for(int j1;jn;j)if(!st[j] (t-1 || dist[t] dist[j]))tj;st[t]true;for(int j1;jn;j)dist[j]min(dist[j],dist[t]g[t][j]);}return dist[n]; }int main() {cinmn;memset(g,inf,sizeof g);for(int i0;im;i){int a,b,c;cinabc; g[a][b]g[b][a]min(g[a][b],c);}cout dijkstra() endl;return 0; }运行结果 H - 拓扑排序 0x00 算法题目 0x01 算法思路 拓扑排序算法基础模板题 模板演示 bool topsort() {int hh0,tt-1;for (int i 1; i n; i )if (!d[i])q[ tt] i;while(hhtt){int t q[hh ];for (int i h[t]; i ! -1; i ne[i]){int j e[i];if (-- d[j] 0)q[ tt] j;}}return ttn-1; }0x02 代码实现 代码演示 #includeiostream #includecstring #includealgorithm #includequeue #includevectorusing namespace std;const int N100010;int n,m; vectorint v[N]; int size,d[N]; int ans[N];void topsort() {priority_queueint,vectorint,greaterint q;for(int i1;in;i)if(!d[i]) q.push(i);while(!q.empty()){int t q.top();q.pop();ans[size] t;for(auto it : v[t]){d[it]--;if(!d[it]) q.push(it);}} }int main() {cinnm;for(int i0;im;i){int a,b;cinab;v[a].push_back(b);d[b];}topsort();for(int i0 ; isize ;i)cout v ans[i] ;return 0; } 运行结果 总结 这次训练很明显涉及到了最短路Dijkstraspfa图论二分图算法以及topsort算法这次考的比较基础但是让我意识到了算法必须熟练记忆模板是很重要的。
http://www.dnsts.com.cn/news/49319.html

相关文章:

  • 怎么在赶集网上做招聘网站设计本质是什么
  • 河北省建设网站首页中山市住房建设局网站
  • html导航网站源码白水网站建设
  • 新手做自己的网站教程选择赣州网站建设
  • 一家专业做导购的网站定兴网站建设
  • psd 下载网站深圳宝协建设公司
  • 池州市建设厅官方网站wordpress 本地
  • 做网站的公司有哪些上海网站建设哪里便宜
  • 淘宝客推广怎么做网站备案微信小程序商城完整源码
  • 静安西安网站建设企业培训机构网站源码
  • 重庆网站建设qq群平江做网站的公司
  • 网站模板下载百度云链接怎么做的甘肃平凉建设局网站
  • 网站建设打造怎么给网站做百度坐标定位
  • 做搜狗手机网站七牛云存储 wordpress连接失败
  • 网站 png逐行交错企业宣传片报价
  • 网站设计规划说明书网站建设推广哪里好
  • 网站后缀有哪些关联词有哪些
  • 聚美优品网站建设方案温州网站建设推荐
  • 洛阳建设银行官方网站软件开发工程师是干嘛的
  • 最世网络建设网站可以吗竞价推广出价多少合适
  • 深圳好的外贸网站建设网页介绍模板
  • 建设网站毕业设计千博企业网站管理系统完整版 2014
  • 如何优化网站速度石家庄学生
  • 个性化网站建设wordpress动态图片
  • 江油建设局网站版式设计模板
  • 阿里云万网网站网站后台管理系统的重要技术指标
  • 968深圳网站建设公司淘宝付费推广
  • 成品网站模块android 创建wordpress
  • 如何建设本地网站大同网站建设开发
  • 金融品牌网站设计佛山专业网站推广公司