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

网站大小多少合适功能多的免费网站建设

网站大小多少合适,功能多的免费网站建设,珠海中企网站建设公司,如何做电子海报在网站Floyd大家可能第一时间想到的是他求多源最短路的n算法。其实它还有另外两种算法的嘛qwq。写一发总结好了qwq。 一、多源最短路 放段代码跑#xff0c;注意枚举顺序#xff0c;用邻接矩阵存图。本质是一种动规。 复杂度O(n)。 1 for(int k1;kn;k) 2 for(int i1;in…Floyd大家可能第一时间想到的是他求多源最短路的n³算法。其实它还有另外两种算法的嘛qwq。写一发总结好了qwq。   一、多源最短路 放段代码跑注意枚举顺序用邻接矩阵存图。本质是一种动规。 复杂度O(n³)。 1 for(int k1;kn;k) 2 for(int i1;in;i) 3 for(int j1;jn;j) 4 f[i][j]min(f[i][j],f[i][k]f[k][j]); View Code 放个例题跑。 灾后重建 二、传递闭包 在交际网络中给定若干个元素若干个二元关系关系有传递性。传递闭包就是一种“通过传递性推导出尽量多的元素之间关系的问题”求出可确定排名的元素个数。 实现用一个布尔型的邻接矩阵f[i][j]1表示i与j有关系否则则没有关系。 我们每次可以枚举k点来解决那些间接相关的关系处理。 1 for(int k1;kn;k) 2 for(int i1;in;i) 3 for(int j1;jn;j) 4 f[i][j]|f[i][k]f[k][j]; View Code 例题 [USACO08JAN]牛大赛Cow Contest 对于奶牛的编程能力用f[i][j]1表示i比j强之后就是一个裸的传递闭包。跑一遍后n²统计每只牛它与其他牛的关系是否已经确定意思就是说只要有f[i]j]1或f[j][i]1其中一个就行来统计答案。 Code 1 #includecstdio2 #includealgorithm3 4 using namespace std;5 6 int n,m,ans;7 int f[200][200];8 9 int main() 10 { 11 scanf(%d%d,n,m); 12 for(int i1;im;i) 13 { 14 int x0,y0; 15 scanf(%d%d,x,y); 16 f[x][y]1; 17 } 18 for(int k1;kn;k) 19 for(int i1;in;i) 20 for(int j1;jn;j) 21 f[i][j]|f[i][k]f[k][j]; 22 for(int i1;in;i) 23 { 24 int j; 25 for(j1;jn;j) 26 { 27 if(ij) continue; 28 if(f[i][j]0f[j][i]0) break; 29 } 30 if(jn) ans; 31 } 32 printf(%d,ans); 33 return 0; 34 } View Code 三、求无向图最小环 例题1 USACO4.1篱笆回路  这道题难在建图图建好以后就是裸的跑floyd找最小环了。 瞎说一句这题竟然有个数组开了1000的空间但是越界了呀qwq Code 1 /*2 ID:cellur_23 TASK:fence64 LANG:C5 */6 #includecstdio7 #includealgorithm8 #includecstring9 10 using namespace std; 11 const int inf0x3f3f3f3f; 12 13 int n,num,ansinf; 14 int dis[300][300],mapp[300][300]; 15 struct node{ 16 int len; 17 int lcnt,rcnt,lid,rid,id; 18 int l[300],r[300]; 19 }edge[300]; 20 21 int main() 22 { 23 scanf(%d,n); 24 for(int i1;in;i) 25 { 26 scanf(%d,edge[i].id); 27 int xedge[i].id; 28 scanf(%d,edge[x].len); 29 scanf(%d%d,edge[x].lcnt,edge[x].rcnt); 30 for(int j1;jedge[x].lcnt;j) 31 scanf(%d,edge[x].l[j]); 32 for(int j1;jedge[x].rcnt;j) 33 scanf(%d,edge[x].r[j]); 34 } 35 for(int i1;in;i) 36 {// lid 这条边左端点的点编号 37 // rid 这条边右端点的点编号 38 if(!edge[i].lid) edge[i].lidnum; 39 for(int j1;jedge[i].lcnt;j) 40 { 41 int xedge[i].l[j]; 42 bool flag0; 43 for(int k1;kedge[x].lcnt;k) 44 if(edge[x].l[k]i) 45 { 46 flag1; 47 break; 48 } 49 if(flag) edge[x].lidedge[i].lid; 50 else edge[x].ridedge[i].lid; 51 } 52 if(!edge[i].rid) edge[i].ridnum; 53 for(int j1;jedge[i].rcnt;j) 54 { 55 int xedge[i].r[j]; 56 bool flag0; 57 for(int k1;kedge[x].lcnt;k) 58 if(edge[x].l[k]i) 59 { 60 flag1; 61 break; 62 } 63 if(flag) edge[x].lidedge[i].rid; 64 else edge[x].ridedge[i].rid; 65 } 66 } 67 memset(mapp,0x3f,sizeof(mapp)); 68 memset(dis,0x3f,sizeof(dis)); 69 ansdis[2][33]; 70 for(int i1;in;i) mapp[i][i]0,dis[i][i]0; 71 for(int i1;in;i) 72 { 73 int lidedge[i].lid; 74 int ridedge[i].rid; 75 int lenedge[i].len; 76 mapp[rid][lid]mapp[lid][rid]len; 77 dis[rid][lid]dis[lid][rid]len; 78 } 79 //floyd找最小环 80 for(int k1;knum;k) 81 { 82 for(int i1;ik;i) 83 for(int ji1;jk;j) 84 ansmin(ans,dis[i][j]mapp[i][k]mapp[k][j]); 85 for(int i1;inum;i) 86 for(int j1;jnum;j) 87 dis[i][j]min(dis[i][j],dis[i][k]dis[k][j]); 88 } 89 printf(%d\n,ans); 90 return 0; 91 } View Code  例题2 POJ 1734 Sightseeing Trip 其实是floyd找最小环的板子题但是由于题目要求输出一种合法的方案所以我们只要再开一个vector就行了。 Code 1 #includecstdio2 #includealgorithm3 #includevector4 #includecstring5 6 using namespace std;7 typedef long long ll;8 9 int n,m; 10 int ans0x3f3f3f3f; 11 int dis[200][200],mapp[200][200],pos[200][200]; 12 vectorintpath; 13 14 void get_path(int x,int y) 15 { 16 if(pos[x][y]0) return ; 17 get_path(x,pos[x][y]); 18 path.push_back(pos[x][y]); 19 get_path(pos[x][y],y); 20 } 21 22 int main() 23 { 24 scanf(%d%d,n,m); 25 memset(dis,0x3f,sizeof(dis)); 26 for(int i1;in;i) dis[i][i]0; 27 for(int i1;im;i) 28 { 29 int x0,y0,z0; 30 scanf(%d%d%d,x,y,z); 31 dis[x][y]dis[y][x]min(dis[x][y],z); 32 } 33 memcpy(mapp,dis,sizeof(dis)); 34 for(int k1;kn;k) 35 { 36 for(int i1;ik;i) 37 for(int ji1;jk;j) 38 if((ll)mapp[i][j]dis[j][k]dis[i][k]ans) 39 { 40 ansmapp[i][j]dis[i][k]dis[k][j]; 41 path.clear(); 42 path.push_back(i); 43 get_path(i,j); 44 path.push_back(j); 45 path.push_back(k); 46 } 47 for(int i1;in;i) 48 for(int j1;jn;j) 49 if(mapp[i][j]mapp[i][k]mapp[k][j]) 50 { 51 mapp[i][j]mapp[i][k]mapp[k][j]; 52 pos[i][j]k; 53 } 54 } 55 if(ans0x3f3f3f3f) 56 { 57 printf(No solution.); 58 return 0; 59 } 60 for(int i0;ipath.size();i) 61 printf(%d ,path[i]); 62 return 0; 63 } View Code  转载于:https://www.cnblogs.com/nopartyfoucaodong/p/9590907.html
http://wiki.neutronadmin.com/news/154961/

相关文章:

  • 自动获取网站缩略图网站建设公众
  • 电话投放小网站7电脑不能打开wordpress
  • 山西建设厅网站2016年3号网站下载系统如何做系统
  • 徐州优化网站抖音带运营团队有用吗
  • 公司建站详细步骤php网站制作报价
  • wordpress 上传错误无忧seo
  • 做ppt模板网站有哪些嵌入式软件开发简历
  • 做外贸客户要求看网站运营公众号需要多少钱
  • 企业网站案例展示查询seo
  • 建设科技处网站博客营销
  • 什么网站收录排名最高wordpress 标题截断
  • 白银做网站网页版传奇怎么开
  • jsp可以做网站首页吗网络游戏陪玩
  • 南平网站设计网站开发和桌面开发哪个难
  • 2003访问网站提示输入用户名密码番禺网站建设优化推广
  • 百度上开个网站怎么做中国做网站最好的
  • 四川大学毕业设计网站小型教育网站的开发建设开题报告
  • 网站建设参考论文常用的网络营销推广方法有哪些
  • 如何维护企业电子商务网站建设响应式网站手机端尺寸
  • 学院网站建设的目的及定位东莞哪里有网站制作公司
  • 重庆企业网站建设哪家好网络营销网站建设存在问题
  • 上饶做网站最好的公司做网站的品牌公司
  • 玉林建设工程信息网站天津网络推广公司
  • 如何建网络营销网站上交所大宗交易平台
  • 做网站第一次见客户百度指数关键词未收录怎么办
  • 点击最多的网站h5模板免费
  • 泾川网站建设创意广告图片及文字解析
  • 网站建设添加音乐的代码网站主页模板图片
  • 宿迁网站建设排名wordpress创建表单
  • 负责网站开发的岗位服务好 售后好的网站建设