题目链接:

http://codeforces.com/problemset/problem/1196/F

题目大意::无向图,求任意两点第k短的路径

思路:按照边的大小,只保留前K个边,如果不连同的话, 第K小的边一定是这K个边中的一个,连同的话,一定是这K个边之间的复合边。重新编号,然后跑floyd。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll INF=1E18+;
const int N=2E5+;
struct stu{
ll a,b,c;
bool friend operator < (const stu &x,const stu &y){
return x.c>y.c;
}
};
priority_queue<stu >que;
vector<ll >v;
vector<stu >ve[N];
ll mark[N];
ll dp[+][+];
int main(){
ll n,m,k;
cin>>n>>m>>k;
ll x,y,z;
for(int i=;i<=m;i++){
cin>>x>>y>>z;
que.push({x,y,z});
}
ll pos=;
int s=k*;
for(int i=;i<=s;i++){
for(int j=;j<=s;j++){
dp[i][j]=INF;
}
}
for(int i=;i<=s;i++) dp[i][i]=;
for(int i=;i<=k&&!que.empty();i++){
stu x1=que.top();
que.pop();
int da=x1.a;
int db=x1.b;
if(mark[da]){
da=mark[da];
}
else {
mark[da]=pos++;
da=mark[da];
}
if(mark[db]) db=mark[db];
else {
mark[db]=pos++;
db=mark[db];
}
dp[da][db]=x1.c;
dp[db][da]=x1.c;
} for(int i=;i<pos;i++){
for(int j=;j<pos;j++){
for(int k=;k<pos;k++){
dp[j][k]=min(dp[j][k],dp[j][i]+dp[i][k]);
}
}
}
for(int i=;i<pos;i++){
for(int j=i+;j<pos;j++){
v.push_back(dp[i][j]);
}
}
sort(v.begin(),v.end());
cout<<v[k-]<<endl;
return ;
}

1196F - K-th Path的更多相关文章

  1. Fling——K

    K. Fling Fling is a kind of puzzle games available on phone.This game is played on a board with 7 ro ...

  2. Kth Ancestor 第k个祖先问题

    题目出处 这道题目出自hackerrank的8月月赛的第三题. 题目大意: 先给出一棵树 之后有三种操作分别为:加边,查询,和删除一个节点 查询的时候要给出任意节点x的第k个祖先 每组数据有t个cas ...

  3. K - The Unique MST - poj 1679

    题目的意思已经说明了一切,次小生成树... ****************************************************************************** ...

  4. JAVA之单源最短路径(Single Source Shortest Path,SSSP问题)dijkstra算法求解

    题目简介:给定一个带权有向图,再给定图中一个顶点(源点),求该点到其他所有点的最短距离,称为单源最短路径问题. 如下图,求点1到其他各点的最短距离 准备工作:以下为该题所需要用到的数据 int N; ...

  5. PAT甲题题解-1053. Path of Equal Weight (30)-dfs

    由于最后输出的路径排序是降序输出,相当于dfs的时候应该先遍历w最大的子节点. 链式前向星的遍历是从最后add的子节点开始,最后添加的应该是w最大的子节点, 因此建树的时候先对child按w从小到大排 ...

  6. poj 1062 昂贵的聘礼(floyd path的应用)

    题目链接:http://poj.org/problem?id=1062 题意就不解释了中问题. 这题用dfs也行.但是感觉还是floyd比较好一点主要是他们交易是有条件的交易总的等级差不能超过m 所以 ...

  7. dfs --path sum 问题 本质上就是组合问题(有去重)

    135. 数字组合 中文 English 给定一个候选数字的集合 candidates 和一个目标值 target. 找到 candidates 中所有的和为 target 的组合. 在同一个组合中, ...

  8. Usual tiny skills & solutions

    Ubuntu and Win10 - double OS 2016-02-21 Yesterday I helped my friend install Ubuntu (14.04 LTS) on h ...

  9. Sublime Text 2下搭建Python环境常见错误

    Sublime Text 2下搭建Python环境时,最容易出的错误就是Python环境配置错误,导致build(Ctrl+B)后没有任何反应. 关于Python编程环境的配置,网上很容易搜索到.先默 ...

  10. Java实现操作dos命令

    java实现操作dos命令的两种方式 1.读取文件中的命令 package com; import java.io.InputStream; public class cmd { public sta ...

随机推荐

  1. Codeforces Round #567 (Div. 2) B. Split a Number

    Split a Number time limit per test 2 seconds memory limit per test 512 megabytes input standard inpu ...

  2. Building Applications with Force.com and VisualForce(Dev401)(十九):Visualforce Pages: Visualforce Componets (Tags)

    Dev401-020:Visualforce Pages: Visualforce Componets (Tags) Module Agenda1.Tag Basics2.Tag Bindings T ...

  3. 使用 NLTK 对文本进行清洗,索引工具

    使用 NLTK 对文本进行清洗,索引工具 EN_WHITELIST = '0123456789abcdefghijklmnopqrstuvwxyz ' # space is included in w ...

  4. Vue路由配置history模式

    我的博客: https://github.com/Daotin/fe-notes/issues vue需要node.js吗? 你可以用 script 标签的形式引入vue.min.js 这样的,不需要 ...

  5. Faiss向量相似性搜索

    Faiss 快速入门(1) Faiss 更快的索引(2) Faiss低内存占用(3) Faiss 构建: clustering, PCA, quantization(4) 如何选择Faiss索引(5)

  6. Java基础语法(11)-面向对象之关键字

    title: Java基础语法(11)-面向对象之关键字 blog: CSDN data: Java学习路线及视频 1.this this是什么 它在方法内部使用,即这个方法所属对象的引用: clas ...

  7. [RH134] 10-NFS和Samba客户端

    NFS和samba服务器的配置,请参考: 这里,我们只讨论客户端的使用 1.NFS客户端的使用 nfs实现的是类Unix系统之间的远程共享目录. 假设我们已经有一个提供nfs服务的服务器,IP为192 ...

  8. Sql Server数据库性能优化之索引

    最近在做SQL Server数据库性能优化,因此复习下一索引.视图.存储过程等知识点.本篇为索引篇,知识整理来源于互联网. 索引加快检索表中数据的方法,它对数据表中一个或者多个列的值进行结构排序,是数 ...

  9. 火焰图--记一次cpu降温过程

    引子 正值周末,娃儿6:30又如闹铃般准时来叫醒了我们.年前离开美菜,又回到了杭州.原本是想有更多时间陪伴娃儿,然而新的工作节奏与工作地点,让我们每天都是早上见面:这不,为了周末可以多玩一会儿,早早就 ...

  10. Java内存模型和ConcurrentHashMap 1.7源码分析

    简介 ConcurrentHashMap 是 util.concurrent 包的重要成员.本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体 ...