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

福建省建设招投标网站百度风云榜

福建省建设招投标网站,百度风云榜,自己做时时彩网站,安徽省建设厅官方网站黄世山108.冗余连接 注意init初始化 改进&#xff1a; 其实只有一条边冗余&#xff0c;改为&#xff0c;如果两条边在同一个集合里&#xff0c;就输出&#xff0c;不然加入。 #include <iostream> #include <vector> using namespace std;int n 1005; vector<int>…

108.冗余连接

注意init初始化

改进:

其实只有一条边冗余,改为,如果两条边在同一个集合里,就输出,不然加入。

#include <iostream>
#include <vector>
using namespace std;int n = 1005;
vector<int> father(n,0);void init(){for (int i=0;i<n;i++){father[i] = i;}
}int find(int u){return u == father[u]? u: father[u] = find(father[u]);
}bool isSame(int u, int v){u = find(u);v =  find(v);return u == v;
}void join(int u, int v){u = find(u);v = find(v);if(u==v){return;}father[u] = v;
}int main(){int N;cin >>N;init(); //1111int s,t,redun_s, redun_t;bool result;while(N--){cin>>s>>t;result = isSame(s,t);if (result){redun_s = s;redun_t = t;}join(s,t);}cout << redun_s <<" "<< redun_t << endl;return 0;
}

109.冗余连接II

不好做:

1.入度为2:看删哪条边可以形成树,而不是环(因为只有两种可能,一个树,一个环)

2.没有入度为2的点:有向环,删最后形成环的那条

#include <iostream>
#include <vector>
using namespace std;int n;
vector<int> father(1001, 0);void init() {for (int i = 0; i < n; i++) {father[i] = i;}
}int find(int u) {return u == father[u] ? u : father[u] = find(father[u]);
}bool isSame(int u, int v) {u = find(u);v = find(v);return u == v;
}void join(int u, int v) {u = find(u);v = find(v);if (u == v) {return;}father[v] = u;
}bool isTreeAfterRemoveVec(const vector<vector<int>>& edges, int v) {init();for (int i = 0; i < n; i++) {if (i == v) {continue;}if (isSame(edges[i][0], edges[i][1])) {return false;}join(edges[i][0], edges[i][1]);}return true;
}void getRemoveEdge(const vector<vector<int>>& edges) {init();for (int i = 0; i < n; i++) {if (isSame(edges[i][0], edges[i][1])) {cout << edges[i][0] << " " << edges[i][1];return;}join(edges[i][0], edges[i][1]);}
}int main() {// int N;cin >> n;// init(); //1111// n = 3;// vector<vector<int>> grid;// grid = {//     {1,2},//     {1,3},//     {2,3}// };vector<vector<int>> edges;vector<int> degrees(n+1, 0);int s, t;for(int i=0;i<n;i++) {cin >> s >> t;// s = grid[i][0];// t = grid[i][1];edges.push_back({ s,t });degrees[t]++;}//计算入度vector<int> vec;for (int i = 0; i < n; i++) {//cout << degrees[edges[i][1]] << " ";if (degrees[edges[i][1]] == 2) {vec.push_back(i);}}//情况1:入度为2,看删哪个if (vec.size() > 1) {if (isTreeAfterRemoveVec(edges, vec[1])) {cout << edges[vec[1]][0] << " " << edges[vec[1]][1] << endl;}else {cout << edges[vec[0]][0] << " " << edges[vec[0]][1] << endl;}return 0;}//情况2:有向环getRemoveEdge(edges);return 0;
}

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

相关文章:

  • 网站建设收费价目表重庆白云seo整站优化
  • 网站的模块怎么做专业的seo外包公司
  • 学校建设网站的目的和意义百度极速版客服人工在线咨询
  • 网站备案 办理幕布拍照公司建官网要多少钱
  • 房产信息网预告是什么意思优化网站
  • 经营性网站放宽备案条件seo平台是什么
  • 视频网站开发背景地推推广方案
  • 常州手机网站建设优化百度seo
  • 全国政府网站建设情况免费单页网站在线制作
  • b2c网站好处网络营销方法有哪些
  • 网站制作策划建设大纲品牌seo培训咨询
  • 网站建设 空间竞价推广哪家公司好
  • 招商加盟网站模板htmlseo工作职位
  • 哪些网站可以做迁徙图莆田百度快照优化
  • 山东城市建设学院网站最近三天的新闻大事小学生
  • 网站建设销售是什么酒店seo是什么意思
  • 做网站的字体免费crm系统手机版
  • 网站建设有哪些常用行为淘宝指数转换工具
  • 网站优化 推广网站运营推广的方法有哪些
  • wordpress自适应网站博客模板最新app排名优化
  • 苏州设计网页成都优化官网公司
  • 自己建一个简单的网站成都搜索优化排名公司
  • 网站建设的简历制作长沙企业网站设计
  • 中国建设银行互联网网站seo综合查询怎么用的
  • 河南视频网站建设公司营销 推广
  • 高品质的网站开发公google浏览器官方下载
  • 网站建站公司哪家好株洲网页设计
  • 网站如何管理微商怎么做推广加好友
  • 西安有哪些做网站的公司成都推广系统
  • 专业网站建设的怎么样建网站