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

有没有免费的推广网站百度竞价培训

有没有免费的推广网站,百度竞价培训,qq空间钓鱼网站后台怎么做,如何做网站卖连接什么是最小生成树? 在一给定的无向图G (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边,而 w(u, v) 代表此的边权重,若存在 T 为 E 的子集(即)且为无循环图,使得的 w(T) 最小,则此 …

什么是最小生成树?

        在一给定的无向图G = (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边,而 w(u, v) 代表此的边权重,若存在 T 为 E 的子集(即)且为无循环图,使得的 w(T) 最小,则此 T 为 G 的最小生成树。最小生成树其实是最小权重生成树的简称。(简而言之就是把一个图变成一棵树,并且树中的边权和最小)

抓概念的话下面这个人就解释的很详细

最小生成树——Prim算法(详细图解)_最小生成树prim算法-CSDN博客

 标准的Prim模板--最小生成树

const int MAXN = 1000,INF = 0x3f3f3f3f;//定义一个INF表示无穷大。
int g[MAXN][MAXN],dist[MAXN],n,m,res;
//我们用g[][]数组存储这个图,dist[]储存到集合S的距离,res保存结果。
bool book[MAXN];//用book数组记录某个点是否加入到集合S中。int main()
{cin>>n>>m;//读入这个图的点数n和边数mfor(int i = 1 ; i<= n ;i++){for(int j = 1; j <= n ;j++){g[i][j] = INF;//初始化任意两个点之间的距离为正无穷(表示这两个点之间没有边)}dist[i] = INF;//初始化所有点到集合S的距离都是正无穷}for(int i = 1; i <= m ; i++){int a,b,w;cin>>a>>b>>w;//读入a,b两个点之间的边g[a][b] = g[b][a] = w;//由于是无向边,我们对g[a][b]和g[b][a]都要赋值}prim();//调用prim函数if(res==INF)//如果res的值是正无穷,表示不能该图不能转化成一棵树,输出orzcout<<"orz";elsecout<<res;//否则就输出结果resreturn 0;
}void prim()
{dist[1] = 0;//把点1加入集合S,点1在集合S中,将它到集合的距离初始化为0book[1] = true;//表示点1已经加入到了S集合中for(int i = 2 ; i <= n ;i++)dist[i] = min(dist[i],g[1][i]);//用点1去更新dist[]for(int i = 2 ; i <= n ; i++){int temp = INF;//初始化距离int t = -1;//接下来去寻找离集合S最近的点加入到集合中,用t记录这个点的下标。for(int j = 2 ; j <= n; j++){if(!book[j]&&dist[j]<temp)//如果这个点没有加入集合S,而且这个点到集合的距离小于temp就将下标赋给t{temp = dist[j];//更新集合V到集合S的最小值t = j;//把点赋给t}}if(t==-1){res = INF ; return ;}//如果t==-1,意味着在集合V找不到边连向集合S,生成树构建失败,将res赋值正无穷表示构建失败,结束函数book[t] = true;//如果找到了这个点,就把它加入集合Sres+=dist[t];//加上这个点到集合S的距离for(int j = 2 ; j <= n ; j++)dist[j] = min(dist[j],g[t][j]);//用新加入的点更新dist[]}
}

改良版的最大生成树

注意字符串可旋转不可翻转

#include<iostream>
#include<vector>
#include<cstring>
using namespace std;
const int N = 210,M = 51;
vector<string>s(210);
int n,m;
int dist[N],ans,g[N][N],f[N][N],st[N];
int cal_lcs(string a,string b){a = " "+ a, b =" "+b;memset(f,0,sizeof f);int cnt = 0;for(int i = 1;i<=2*m;++i){for(int j = 1;j<=2*m;++j){if(a[i] == b[j]) f[i][j] = max(f[i][j],f[i-1][j-1]+1);cnt = max(cnt,f[i][j]);}}return cnt;
}
int main(){cin>>n>>m;//拆环为链,复制一遍字符串串 for(int i = 1; i <= n;++i){cin>>s[i];s[i]+=s[i];}for(int i = 1; i<= n;++i){for(int j = i;j <= n ;++j){if(i==j) g[i][j] = 0;else g[i][j] = g[j][i] = min(cal_lcs(s[i],s[j]),m);//只计算一遍g[i][j] }}//朴素版Prim算法,注意要求最大生成树,都要修改为大于号 for(int i = 1;i <= n; ++i){int t = -1;for(int j = 1;j<=n;++j){if(!st[j]&&(t==-1||dist[j]>dist[t])) t = j;}st[t] = 1;ans += dist[t];for(int j = 1;j<=n;++j){if(!st[j] && dist[j] < g[t][j]) dist[j] = g[t][j];}}cout<<ans<<endl;
}

http://www.cadmedia.cn/news/14280.html

相关文章:

  • 广安市建设局网站泉州seo培训
  • 郑州网站设计排行竞价托管公司排名
  • 学校网站平台建设方案外链seo
  • 聊城专业网站建设公司哪家好百度网站推广价格查询
  • 广告公司会建设网站吗怎么让自己上百度
  • 网站定制公司地址合肥seo代理商
  • 智慧团建注册登录入口手机版下载手机管家一键优化
  • 漯河网站建设电话网站seo诊断分析报告
  • 关于企业网站建设的必要性北京seo公司排名
  • 北京网站开发费用厦门关键词排名优化
  • 查找全国免费网站建设刺激广告
  • 北京网站建设友情链接有什么用
  • 网站 建设开发合同模板互联网医疗的营销策略
  • 室内设计中文网南宁白帽seo技术
  • 网格建设专业好不好苏州网站关键词优化推广
  • 大数据网站建设和白帽seo
  • dw做网站教程百度收录情况
  • 柳州网站建设找哪家好郑州网站技术顾问
  • 国内好的seo太原seo推广
  • 广州网站优化电话百度搜索大数据怎么查
  • 临沂网站建设goldball网络推广页面
  • 网站建设入门基础补习班
  • 济南建网站市场调研报告怎么做
  • 专门做餐饮装修的公司路由优化大师官网
  • 网站域名密码忘了百度top风云榜
  • 做网站感想全网模板建站系统
  • 住建部官方网站怎样制作网页设计
  • 湖南的商城网站建设排位及资讯
  • 网站的网页建设知识ppt站长工具使用
  • 西宁做网站建设公司哪家好网络推广公司企业