zoukankan      html  css  js  c++  java
  • 【最短路】POJ 1502 MPI Maelstrom

    POJ 1502 MPI Maelstrom

    题意:给一个无向图,求从结点1到其他结点的最短路中的长度最大值

    思路:裸的Dijkstra……记得先cin>>n再初始化,居然在这个弱智错误上卡了10分钟。atoi()在数字与字符混合输入这种情况好用,用来将一个字符串转为整型。

    struct node {
    	LL d;
    	int u;
    	bool operator < (const node& k) const {
    		return d > k.d;
    	}
    };
    
    struct Edge {
    	int from, to;
    	LL dis;
    	Edge(int u,int v,LL d):from(u),to(v),dis(d){}
    };
    
    int n, m;
    int p[maxn];
    vector<Edge> Edges;
    vector<int> G[maxn];
    bool done[maxn];
    LL d[maxn];
    
    void solve(){
    	cin >> n;
    	memset(done, false, sizeof(done));
    	memset(p, 0, sizeof(p));
    	memset(d, 0, sizeof(d));
    	Edges.clear();
    	for (int i = 0; i <= n; i++) G[i].clear();
    	for (int i = 1; i <= n; i++) { d[i] = (i == 1 ? 0 : INF);}
    	Edges.push_back(Edge(0, 0, 0));
    	int num = 0;
    
    	for (int i = 2; i <= n; i++) {
    		for (int j = 1; j <= i - 1; j++) {
    			char ch[9];
    			cin >> ch;
    			LL d;
    			if (ch[0] != 'x')
    			{
    				d = atoi(ch);
    				Edges.push_back(Edge(i, j, d));
    				G[i].push_back(++num);
    				Edges.push_back(Edge(j, i, d));
    				G[j].push_back(++num);
    			}
    		}
    	}
    	priority_queue<node> Q;
    	Q.push(node{ 0, 1 });
    	while (!Q.empty()) {
    		node x = Q.top(); Q.pop();
    		int u = x.u;
    		if (done[u]) continue;
    		for (int i = 0; i < G[u].size(); i++) {
    			Edge& e = Edges[G[u][i]];
    			if (d[u] + e.dis < d[e.to]) {
    				d[e.to] = d[u] + e.dis;
    				p[e.to] = G[u][i];
    				Q.push(node{ d[e.to],e.to });
    			}
    		}
    		done[u] = true;
    	}
    	
    	LL ans = -1;
    	for (int i = 2; i <= n; i++) ans = max(ans, d[i]);
    	cout << ans;
    }
    
  • 相关阅读:
    使用vagrant一键部署本地php开发环境(一)
    产品化机器学习的一些思考
    突破、进化,腾讯云数据库2018全年盘点
    WebGL 纹理颜色原理
    如何定制Linux外围文件系统?
    一文了解腾讯云数据库SaaS服务
    如何正确的选择云数据库?
    Node.js 进程平滑离场剖析
    Git合并不同url的项目
    mariadb 内存占用优化
  • 原文地址:https://www.cnblogs.com/streamazure/p/12932115.html
Copyright © 2011-2022 走看看