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

网站建设常用视频格式素材图库

网站建设常用视频格式,素材图库,自己做网站seo,通州顺德网站建设注#xff1a;本文算法使用链式前向星数据结构实现。学习链接#xff1a;链式前向星-学习笔记 一、Prim算法 普通prim算法模板#xff1a; //用前向星录数据的时候记得把head初始化为-1 fill(dist,distLEN,MAX); memset(vis,0,sizeof vis); int ans0; dist[1]0; //如…注本文算法使用链式前向星数据结构实现。学习链接链式前向星-学习笔记 一、Prim算法 普通prim算法模板 //用前向星录数据的时候记得把head初始化为-1 fill(dist,distLEN,MAX); memset(vis,0,sizeof vis); int ans0; dist[1]0; //如果题目要求输出最小生成树就把题目要求的源点s的dist设为0 while(1){ //如果题目要求判断最小生成树是否能覆盖所有边这个循环条件应该是in;while(n--)循环n次。 int u-1,dMAX;for(i1;iN;i){if(!vis[i] dist[i]d){ui;ddist[i];}}if(u0) break; //如果题目要求判断最小生成树是否能覆盖所有边出现这样的情况说明不能覆盖所有边。 vis[u]1;ansdist[u];for(ihead[u];~i;imp[i].next){ //用前向星遍历u点所有的后继。i是各个后继点在mp的下标mp[to]是u的各个后继点 int tomp[i].to;if(!vis[to] mp[i].wdist[to]){//如果这个点没有被访问过、并且u-v的路径比点集S到v的路径要短则更新。 dist[to]mp[i].w;}} } O(%d\n,ans); 堆优化的prim算法 堆结构 struct cmp{bool operator () (int a,int b){return dist[a]dist[b];} }; priority_queueint,vectorint,cmp pq; 算法代码 int ans0; dist[1]0; pq.push(1); while(!pq.empty()){int upq.top();pq.pop();if(vis[u]) continue;vis[u]1;ansdist[u];for(ihead[u];~i;imp[i].next){int tomp[i].to;if(!vis[to] mp[i].wdist[to]){dist[to]mp[i].w;pq.push(to);}} } O(%d\n,ans);   二、Kruskal算法 1.建立边表数据结构 typedef struct edge{int u,v,w;edge(int u0,int v0,int w0):u(u),v(v),w(w){}bool operator (const edge obj) const{return wobj.w;} }edge; edge mp[LEN*LEN]; 2.编写并查集模板以下代码没有写合并的Union操作。这个操作在主代码执行的时候已经实现 int fa[LEN]; int init(){int i;FF(i,LEN) fa[i]i; } int findFa(int x){if(xfa[x]) return x;int rx;while(r!fa[r]){rfa[r];}int tx;while(x!fa[x]){tfa[x];fa[x]r;xt;}return r; } 3.编写主代码 sort(mp,mpcnt); FF(i,cnt){int fa_ufindFa(mp[i].u);int fa_vfindFa(mp[i].v);if(fa_u!fa_v){ansmp[i].w;fa[fa_u]fa_v;edge_cnt;if(edge_cntN-1) break;} } O(%d\n,ans); 注意 ①边表的范围要开大因为边的数目可能是顶点数目的平方准确说有向图边树EN*(N-1) ②Prim算法在录边的数据的时候因为是无向图一条边要录成两条。Kruskal就没有这种必要了。 ③各种初始化代码比如并查集的init() 要注意加上。   打个OJ测试一下吧 OJ链接还是畅通工程 AC代码 #include stdio.h #include memory.h #include math.h #include string #include vector #include set #include stack #include queue #include algorithm #include map#define I scanf #define OL puts #define O printf #define F(a,b,c) for(ab;ac;a) #define FF(a,b) for(a0;ab;a) #define FG(a,b) for(ab-1;a0;a--) #define LEN 1010 #define MAX (130)-1 #define V vectorintusing namespace std;int N; int fa[LEN]; int init(){int i;FF(i,LEN) fa[i]i; } int findFa(int x){if(xfa[x]) return x;int rx;while(r!fa[r]){rfa[r];}int tx;while(x!fa[x]){tfa[x];fa[x]r;xt;}return r; }typedef struct edge{int u,v,w;edge(int u0,int v0,int w0):u(u),v(v),w(w){}bool operator (const edge obj) const{return wobj.w;} }edge; edge mp[LEN*LEN]; int cnt0;int main(){ // freopen(还是畅通工程.txt,r,stdin);int i,j,u,v,w;while(scanf(%d,N),N){init();cnt0;int ans0;int edge_cnt0;i(N*(N-1))/2;while(i--){I(%d%d%d,u,v,w);mp[cnt]edge(u,v,w); // mp[cnt]edge(v,u,w);}sort(mp,mpcnt);FF(i,cnt){int fa_ufindFa(mp[i].u);int fa_vfindFa(mp[i].v);if(fa_u!fa_v){ansmp[i].w;fa[fa_u]fa_v;edge_cnt;if(edge_cntN-1) break;}}O(%d\n,ans);}return 0; } View Code  转载于:https://www.cnblogs.com/TQCAI/p/8549353.html
http://www.yutouwan.com/news/233576/

相关文章:

  • 有哪些网站做生鲜到家wordpress 媒体插件
  • 北京做网站建设价格低广州开发app哪家公司好
  • 外贸网站虚拟主机wordpress google地图
  • 北京网站建设天下公司建立公司网站步骤
  • 做ps的网站有哪些功能吗南宁网络公司设计
  • 云速建站怎么样郑州市建设局官方网站
  • 电影网站logo设计网站开发怎样实现上传视频
  • 买一个网站需要多少钱网站建设需求分析要做的事
  • 如何设立邮箱和网站百度app制作
  • 求推荐建设网站推广产品网站建设
  • 免费给别人做任务的网站小程序商城怎么开通
  • 网站建设与管理课后总结zeronet网站开发
  • 十堰做网站的工作室营销的本质
  • 网站怎么做落款金坛企业网站建设公司
  • 怎样做招嫖网站网络营销专员是干嘛的
  • 建一个个人网站多少钱租房合同模板免费下载
  • 网站建设思路方向贵州遵义新闻
  • 网站如何续费网站建设学的是什么知识
  • 网页设计教程博主整站优化提升排名
  • 模板手机网站建设wordpress 08影院模板
  • 凡科建站是不是关闭企业网站宁波建设工程学院
  • 做旅游网站的方法山西做网站的
  • 深圳网站的建设维护公司抖音推广费用标准
  • 泉州网站制作报价制作网站的要素
  • 谷搜易外贸网站建设做网站的说3年3年包括什么
  • wordpress站长工作wordpress mce
  • 平台网站建设价格网站怎么做才算精致
  • 内销常用网站贵阳微网站建设公司哪家好
  • 网站开发中的服务抽离北京服装网站建设地址
  • 门户网站建设重建方案洛阳建设网站