2285. 道路的最大总重要性
思路:1、计算出所有城市连接的道路的条数v。
2、再对所有城市连接的道路条数进行降序排列,按n~1进行赋值
3、所有道路重要性之和就是:每个城市的赋值×城市连接的道路条数
class Solution {
public:
long long maximumImportance(int n, vector<vector<int>>& roads) {
vector<int > v(n,0);
//计算出所有城市连接的道路的条数v
for(int i=0;i<roads.size();i++){
v[roads[i][0]]++;
v[roads[i][1]]++;
}
//对所有城市连接的道路条数进行降序排列,按n~1进行赋值
vector<pair<int,int>> v1;
for(int i=0;i<n;i++){
v1.push_back({v[i],i});
}
sort(v1.begin(),v1.end(),greater<pair<int,int>>());
//所有道路重要性之和就是:每个城市的赋值×城市连接的道路条数
long long sum=0;
for(int i=0;i<n;i++){
sum+=(long long)(n-i)*v1[i].first;
}
return sum;
}
};