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

政府网站维护运行方案/百度下载app下载安装

政府网站维护运行方案,百度下载app下载安装,设计一个网站的步骤,张家港做网站的推荐题目链接: https://cn.vjudge.net/problem/POJ-3662 题目大意: 求一条路径从1到n使第k1大的边最小。 解题思路: 二分答案mid,当原边权小于等于mid新边权为0,否则新边权为1. 求最短路,若小于等于k说明满足条…

题目链接:

https://cn.vjudge.net/problem/POJ-3662

题目大意:

求一条路径从1到n使第k+1大的边最小。

解题思路:

二分答案mid,当原边权小于等于mid新边权为0,否则新边权为1.

求最短路,若小于等于k说明满足条件
注意:最开始的l必须是0,而不是这些边中的最小边,因为最小化第k+1大的话答案可能为0
  1 #include<iostream>
  2 #include<cstdio>
  3 #include<cstring>
  4 #include<algorithm>
  5 #include<vector>
  6 #include<queue>
  7 #define MID(l, r) (l + (r - l) / 2)
  8 #define lson(o) (o * 2)
  9 #define rson(o) (o * 2 + 1)
 10 using namespace std;
 11 typedef long long ll;
 12 const int INF = 1e9 +7;
 13 const int maxn = 1e6 + 10;
 14 int n, m, k;
 15 struct edge{
 16     int u, v, w;
 17     edge(int u, int v, int w):u(u), v(v), w(w){}
 18     edge(){}
 19 };
 20 struct Heapnode
 21 {
 22     int d, u;
 23     Heapnode(){}
 24     Heapnode(int d, int u):d(d), u(u){}
 25     bool operator <(const Heapnode & a)const
 26     {
 27         return d > a.d;
 28     }
 29 };
 30 bool v[maxn];
 31 int d[maxn];
 32 
 33 int dijkstra(int s, int t, vector<edge>edges, vector<int>G[])
 34 {
 35     priority_queue<Heapnode>q;
 36     for(int i = 0; i <= n; i++)d[i] = INF;
 37     d[s] = 0;
 38     memset(v, 0, sizeof(v));
 39     q.push(Heapnode(0, s));
 40     while(!q.empty())
 41     {
 42         Heapnode now = q.top();
 43         q.pop();
 44         int u = now.u;
 45         if(v[u])continue;
 46         v[u] = 1;
 47         for(int i = 0; i < G[u].size(); i++)
 48         {
 49             edge& e = edges[G[u][i]];
 50             int v = e.v;
 51             if(d[v] > d[u] + e.w)
 52             {
 53                 d[v] = d[u] + e.w;
 54                 q.push(Heapnode(d[v], v));
 55             }
 56         }
 57     }
 58     return d[t];
 59 }
 60 
 61 vector<edge>edges;
 62 vector<int>G[maxn];
 63 vector<edge>edges2;
 64 void addedge(int u, int v, int w)
 65 {
 66     edges.push_back(edge(u, v, w));
 67     int m = edges.size();
 68     G[u].push_back(m - 1);
 69 }
 70 void init(int mid)
 71 {
 72     edges2.clear();
 73     for(int i = 0; i < edges.size(); i++)
 74     {
 75         edge& e = edges[i];
 76         if(e.w <= mid)
 77         {
 78             edges2.push_back(edge(e.u, e.v, 0));
 79         }
 80         else
 81         {
 82             edges2.push_back(edge(e.u, e.v, 1));
 83         }
 84     }
 85 }
 86 int main()
 87 {
 88     scanf("%d%d%d", &n, &m, &k);
 89     int l = 0, r = 0, u, v, w;
 90     while(m--)
 91     {
 92         scanf("%d%d%d", &u, &v, &w);
 93         addedge(u, v, w);
 94         addedge(v, u, w);
 95         r = max(r, w);
 96     }
 97     int ans = -1;
 98     while(l <= r)//l最开始要设置成0,不能设置成最小边,因为第k大可能为0
 99     {
100         int mid = (l + r) / 2;
101         init(mid);
102         int t = dijkstra(1, n, edges2, G);
103         //cout<<mid<<" "<<t<<endl;
104         if(t <= k)
105         {
106             ans = mid;
107             r = mid - 1;
108         }
109         else
110         {
111             l = mid + 1;
112         }
113     }
114     cout<<ans<<endl;
115     return 0;
116 }

 

转载于:https://www.cnblogs.com/fzl194/p/9028319.html

http://www.lbrq.cn/news/1279459.html

相关文章:

  • 山东省住房建设厅网站考试项目/深圳市seo上词贵不贵
  • 安徽建站贵吗/苏州seo
  • 自己做网站投入/seo怎么提升关键词的排名
  • 网站做qq登录界面/买淘宝店铺多少钱一个
  • 网站建设广告图/最全的百度网盘搜索引擎
  • 陈铭生怎么死的/什么是优化设计
  • 中山做网站优化/怎么样做网站推广
  • wordpress怎么实时刷新数据/seoul是什么意思中文
  • 前端一般模仿什么网站/seo个人博客
  • 做爰免费网站/推广一单500
  • 公司网站建设款计什么科目/沈阳专业seo关键词优化
  • 蛋糕网站模版/百度下载链接
  • 做网站公司郑州郑州的网站建设公司排名/网页设计代码案例
  • 重庆模板网站建设怎么样/如何注册域名网站
  • 网站的流量建设/济南seo顾问
  • 企业网站建设硬件/销售渠道
  • 长沙企业网站建立/快速刷排名的软件最好
  • 服务企业建设网站/竞价推广公司
  • 网站建设服务好公司/垂直搜索引擎
  • 网站开发百度百科/seo优化策略
  • 开网站 怎么做网上支付/关键词调词平台费用
  • 网站名称和备案的不一样/免费学生网页制作成品
  • 企业注册号/电商沙盘seo裤子关键词
  • 颍东网站建设/链接检测工具
  • 如何ps做网站首页/互联网营销培训平台
  • 网站建设公司需要有什么东西/日本比分算1:1
  • 南阳网站建设口碑/网站优化有哪些类型
  • 佛山网站设计哪家便宜/淘宝客推广有效果吗
  • 广州网站商城建设/市场营销比较好写的论文题目
  • 社旗微网站开发/seo入门到精通
  • easyexcel填充方式导出-合并单元格并设置边框
  • Java面试深度剖析:从JVM到云原生的技术演进
  • 解决cordova编译安卓提示Cloud not find XXXX.aar
  • 【Python系列】Flask 应用中的主动垃圾回收
  • PostGIS面试题及详细答案120道之 (021-030 )
  • 命令行和neovim的git操作软件-lazygit