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

网站快速有排名备案信息修改网站名称

网站快速有排名,备案信息修改网站名称,家电网站建设总体目标,wordpress 插件 设计1.最大生成树去除重边&#xff0c;只要最大的边成树 2.LCA查最近公共祖先&#xff0c;然后询问的lca(x,y)ff,分别从x,y向上找最小边 3.bfs1/dfs1就是2.中向上找的具体实现 #include<bits/stdc.h> using namespace std; #define N 100011 typedef long long ll; typede…

1.最大生成树去除重边,只要最大的边成树

2.LCA查最近公共祖先,然后询问的lca(x,y)=ff,分别从x,y向上找最小边

3.bfs1/dfs1就是2.中向上找的具体实现

#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef  long long ll;
typedef pair<ll,int> pii;
int n,m,q;
int ff,mi;
int faa[N];
typedef struct edge
{int v;int w;
} edge;
typedef struct ed
{int u,v;int w;
} ed;
struct cmp
{bool operator()(const ed &a,const ed &b)const{return a.w<b.w;}
};
int find(int x)
{if(faa[x]==x) return x;return faa[x]=find(faa[x]);
}
priority_queue<ed,vector<ed>,cmp> pq;///克鲁斯卡尔 int x,y;vector<edge> mp[N];vector<edge> vp[N];int fa[N][25];int d[N];void bfs1(int x)///bfs1和dfs1一样作用,从下往上找最小边 {queue<int> q;q.push(x);while(q.size()){int t=q.front();q.pop();if(t==ff) break;for(int i=0;i<mp[t].size();i++){int v=mp[t][i].v;if(d[v]<d[t]){mi=min(mp[t][i].w,mi);q.push(v);}}}}void dfs1(int x){if(x==ff) return;///很重要,这里要return;停下来 for(int i=0;i<mp[x].size();i++){int v=mp[x][i].v;if(d[v]<d[x]){mi=min(mp[x][i].w,mi);dfs1(v);}}}void dfs(int u,int f)///LCA的dfs {d[u]=d[f]+1;fa[u][0]=f;for(int i=1;i<=19;i++){fa[u][i]=fa[fa[u][i-1]][i-1];}for(int i=0;i<mp[u].size();i++){int v=mp[u][i].v;if(v!=f){dfs(v,u);}}}int lca(int s,int t)///LCA {if(d[s]<d[t]) swap(s,t);for(int i=19;i>=0;i--){if(d[fa[s][i]]>=d[t]){s=fa[s][i];}}if(s==t) return  s;for(int i=19;i>=0;i--){if(fa[s][i]!=fa[t][i]){s=fa[s][i];t=fa[t][i];}}return fa[s][0];}
int main()
{ios::sync_with_stdio(0);cout.tie(0);cin.tie(0);cin>>n>>m>>q;for(int i=1;i<=n;i++) faa[i]=i;for(int i=0;i<m;i++){int u,v, w;cin>>u>>v>>w;pq.push({u,v,w});vp[u].push_back({v,w});vp[v].push_back({u,w});}while(pq.size())///最大生成树去除重边,只取最大 {ed e=pq.top();pq.pop();if(find(e.u)!=find(e.v)){mp[e.u].push_back({e.v,e.w});mp[e.v].push_back({e.u,e.w});faa[find(e.u)]=find(e.v);}}dfs(1,0);for(int i=0;i<q;i++){mi=0x3f3f3f3f;cin>>x>>y;ff=lca(x,y);///最近公共祖先 dfs1(x);dfs1(y);if(mi>=0x3f3f3f3f) cout<<-1<<endl;///特殊情况 else  cout<<mi<<endl;}return 0;
}

http://www.dtcms.com/wzjs/565463.html

相关文章:

  • 网站更改建设方案模板网页设计入门课程
  • app对接网站云系统wordpress
  • 沈阳市建网站宁波正规网络推广多少钱
  • 网站你了解的河南省建设人才教育信息网官网
  • 做网站需要懂程序吗百度热搜广告位多少钱
  • 网页设计网站怎么做特效网站建设的趋势
  • 网站域名和服务器到期网站设计)
  • 1g内存的服务器可以建设几个网站网站建设如何增加二级页面
  • 视频嵌入网站虫部落是谁做的网站
  • 大连做网站绍兴厂商安徽建设工程信息网实名制怎么解聘
  • 网站建设外包公司网站程可以自己做吗
  • 门户网站建设注意问题宁夏水利厅建设处网站
  • asp.net做网站吗沈阳唐朝网络推广
  • 旅游网站模板图片金坛网站优化
  • 教做奥数的网站安宁区网站制作
  • 怎么做网站网站推广网站开发文献资料
  • html5国外网站模板html源码下载广州有几个区图片
  • 什么企业需要做网站网站首页图片制作
  • 网站发布时间更改336633域名
  • 网站全面详细创建步骤赣州商友网络科技有限公司
  • 建网站服务京东联盟如何做查优惠卷的网站
  • 网站建设销售实习报告自助式建站平台
  • 网站不想续费模板建站费用
  • 做网站系统学校钓鱼网站开发教程
  • html5建设网站佛山网站seo哪家好
  • 购物网站建设规划书范文配置wordpress七牛
  • 网站建设忄金手指专业中交路桥建设有限公司待遇怎么样
  • 上海景朋建设工程有限公司网站网站建设的描述
  • 网站整站下载index 石家庄网站建设
  • 建设银行官方网站企业网银网站开发需要哪些工程师