zoukankan      html  css  js  c++  java
  • 11.dijksta 最短路径(最大概率)

    class Solution {
        vector<vector<pair<int,double> > >v;
    public:
        double maxProbability(int n, vector<vector<int>>& edges, vector<double>& succProb, int start, int end) {
            v.resize(n);
            vector<double> dist(n,0.0);
            dist[start]=1.0;
            for(int i=0;i<edges.size();i++){
                int a=edges[i][0],b=edges[i][1];double c=succProb[i];
                v[a].push_back(make_pair(b,c));
                v[b].push_back(make_pair(a,c));
            }
            priority_queue<pair<double,int> >q;
            q.push(make_pair(1.0,start));
            while(!q.empty()){
                int top=q.top().second;
                q.pop();
                for(int i=0;i<v[top].size();i++){
                    int back=v[top][i].first;
                    double w=v[top][i].second;
                    if(dist[top]*w>dist[back]){
                        dist[back]=dist[top]*w;
                        q.push(make_pair(dist[back],back));
                    }
                }
            }
            return dist[end];
    
        }
    };
  • 相关阅读:
    订餐系统
    throw和throws
    CF999E Solution
    CF1142B Solution
    CF965C Solution
    CF963B Solution
    CF999F Solution
    CF975D Solution
    CF997B Solution
    hdu 2553 N皇后
  • 原文地址:https://www.cnblogs.com/apo2019/p/13289926.html
Copyright © 2011-2022 走看看