#include<bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
#define ll long long
#define pi pair<int,int>
const int maxn=1e4+9;
int d[maxn][11],cnt,k,head[maxn];
struct Edge{
int val,to,next;
}edge[maxn*10];
void init(){
memset(head,-1,sizeof(head));
cnt=0;
}
struct node{
int dist,pt,pile;
node(int dist,int pt,int pile):dist(dist),pt(pt),pile(pile){}
bool operator < (const node &a)const{
if(dist==a.dist)return pile >a.pile;
return dist>a.dist;
}
};
void add(int u,int v,int val){
edge[cnt].next=head[u];
edge[cnt].val=val;
edge[cnt].to=v;
head[u]=cnt++;
}
int djk(int s){
memset(d,inf,sizeof(d));
d[s][0]=0;
priority_queue<node>q;
q.push(node(0,s,0));
while(!q.empty()){
node nd=q.top();;
int u=nd.pt;
q.pop();
int j=nd.pile;
for(int i=head[u];i!=-1;i=edge[i].next){
int v=edge[i].to;
int w=edge[i].val;
if(d[v][j]>d[u][j]+w){
d[v][j]=d[u][j]+w;
q.push({d[v][j],v,j});
}
if(j+1<=k&&d[v][j+1]>d[u][j]){
d[v][j+1]=d[u][j];
q.push({d[v][j+1],v,j+1});
}
}
}
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
init();
int i,j,n,m,s,t;
cin>>n>>m>>k>>s>>t;
while(m--){
int x,y,z;
cin>>x>>y>>z;
add(x,y,z);add(y,x,z);
}
djk(s);
int ans=inf;
for(i=0;i<=k;i++)ans=min(ans,d[t][i]);
cout<<ans<<endl;
}
文章浏览阅读241次。目录[隐藏]1Loadavg分析1.1Loadavg浅述1.2Loadavg读取1.3Loadavg和进程之间的关系1.4Loadavg采样218内核计算loadavg存在的问题2.1xtime_lock解析2.2全局load读写分离解xtime_lock问题2.3几个关键点:2..._$load_avg_per_cpu.max.warn
文章浏览阅读1.2k次,点赞53次,收藏39次。快速排序整体的综合性能和使用场景都是比较好的,所以才敢叫快速排序时间复杂度:O(N*logN)空间复杂度:O(logN)稳定性:不稳定。
文章浏览阅读1.3k次。step1 :下载百度云链接https://pan.baidu.com/s/1luAFF8gGddWFqgbq-_X0cg提取码: 5xdj包含 git github forwindows githubforMac 以及notepad++step2:安装这个安装程序,是强制安装路径的,所以不要乱搞 下载之后直接点击就行。@基本情况就是这样..._下载了githubdesktop
文章浏览阅读4.7k次。要想让一个程序功能变得灵活起来,那么配置绝对是不可或缺的,通过合理的设计,将所有动态变量都配置化,可以最大程度上让程序变得灵活。可是在某些复杂的业务场景中,仅仅只是变量的配置化,往往还并不能满足需求,尤其是互联网这种业务需要快速更迭的行业。于是,做一个这样的功能:仅仅依靠配置,就能让程序的逻辑cover住所有的业务逻辑变化,就成为了程序员的终极梦想。然而,现实是残酷的,"write once run forevre",这几乎是不可能实现的梦想(如果真的出现了这样的技术,那可能会是我们职业生涯将要面对的最_nashorn
文章浏览阅读1.5w次,点赞4次,收藏28次。一道关于ctf的题,用python将rgb值转化为图片_ctf 三个坐标值转换图像
文章浏览阅读1.4k次。前言: 安防领域最近几年可谓暗流涌动,作为安防业的双寡头,大华股份与海康威视凭借行业的东风,两家公司的成长速度异常强劲,在国际市场上已经和应用厂家进行厮杀。 2015年两家公司双双晋升“全球安放50强”,海康排名第二,大华排名第五。以华为海思为代表国产芯片解决方案不断走强,在国际竞争中优势凸显,在后端NVR高端产品线先后推出了海思3531、海思3535、海思3536,同时针对低端的产品线也不..._海思hi35xx平台软件开发快速入门之背景知识
文章浏览阅读1.9k次。OTL是英文Output Transformer Less 的简写,意思是无输出变压器。OTL功率放大器就是没有输出耦合变压器的功率放大器电路。 OTL功率放大器大多数采用互补推挽输出级电路。如图所示为互补对称式OTL功率放大电路。T2为一只NPN型功率晶体管,T3为一只PNP型晶体管,它们组成互补推挽输出管,T1为电压放大激励管。信号经过C1耦合送入T1进行放大后,从T1集电极产生的信号_otl
文章浏览阅读2w次。参考博客:https://blog.csdn.net/qq_36630050/article/details/80708685 android studio出错提示:Build command failed.Error while executing 'E:\Android\SDK\cmake\3.6.4111459\bin\cmake.exe' with arguments..._cmake error: cmake_c_compiler not set, after enablelanguage cmake error: cma
文章浏览阅读285次。一些基本公式和定义(1,c,p1,p2)(1,c,p1,p2)(1,c,p_1,p_2)敏感含义‖,‖≤r,Pr[]≥p1‖,‖≤r,Pr[]≥p1\|,\| \leq r, Pr[] \geq p_1, ‖,‖>cr,Pr[]≤p2‖,‖>cr,Pr[]≤p2\|,\| > cr, Pr[] \leq p_2基本LSH函数h(o)=⌊a⋅o+bw⌋h(o)=⌊a..._lsb tree
文章浏览阅读2k次。mathtype插入在WPS中出现The MathType DLL cannot be found问题_mathtype不能被发现
文章浏览阅读1.8k次,点赞2次,收藏3次。对于⽤vs作为开发⼯具的同学来说,可能常常会碰到“Lc.exe已退出代码为-1”的问题,造成这个结果的⼀般是因为加⼊了第三⽅的插件程序造成的,今天记录下如何解决。查看加载的程序项⽬,找到Properties⽂件夹licenses.licx⽂件,然后右键选择删除就可以了,调试运⾏正常了。可以使⽤⽂本编辑器打开上述⽂件,也可以使⽤其它的编辑器,在⽂件中查找licenses.licx字样,删除对应节点。找到你系统的*.csproj⽂件,这个⽂件是加载项⽬⽂件。c.exe已退出代码为-1问题解决⽅法。_lc.exe已退出 代码为-1
文章浏览阅读6.4k次,点赞7次,收藏29次。【代码】linux系统忘记登录密码怎么办。_linux忘记密码