bzoj2662冻结
2024-09-21 10:54:45
话说为什么出题人老是卡$SPFA$啊$qwq$
然而$SPFA$硬是让本宝宝写成了$dij$
分情况讨论就好
/**************************************************************
Problem: 2662
User: zhangheran
Language: C++
Result: Accepted
Time:12 ms
Memory:1356 kb
****************************************************************/ #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
using namespace std;
int n,m,k;
struct data{
int u;int v;int value;int next;
}edge[];int alist[];
int cnt;
void add(int u,int v,int value)
{
edge[cnt].v=v;
edge[cnt].u=u;
edge[cnt].value=value;
edge[cnt].next=alist[u];
alist[u]=cnt++;
return ;
}
struct node{int u;int v;};
queue<node> q;
int d[][];
bool ins[][];
void spfa()
{
d[][]=;
ins[][]=true;
q.push((node){,});
while(!q.empty())
{
node x=q.front();
q.pop();
ins[x.u][x.v]=false;
int next=alist[x.v];
while(next!=-)
{
int v=edge[next].v;
if(d[x.u][v]>d[x.u][x.v]+edge[next].value){
d[x.u][v]=d[x.u][x.v]+edge[next].value;
if(!ins[x.u][v])
ins[x.u][v]=true,
q.push((node{x.u,v}));
}
next=edge[next].next;
}
if(x.u<k){
int next=alist[x.v];
while(next!=-){
int v=edge[next].v;
if(d[x.u+][v]>d[x.u][x.v]+edge[next].value/){
d[x.u+][v]=d[x.u][x.v]+edge[next].value/;
if(!ins[x.u+][v])
ins[x.u+][v]=true,
q.push((node){x.u+,v});
}
next=edge[next].next;
}
}
}
}
int u,v,value;
int main()
{
scanf("%d%d%d",&n,&m,&k);
memset(d,0x3f3f3f3f,sizeof(d));
memset(alist,-,sizeof(alist));
for(int i=;i<=m;i++)
scanf("%d%d%d",&u,&v,&value),
add(u,v,value),
add(v,u,value);
spfa();
int minn=0x3f3f3f3f;
for(int i=;i<=k;i++) minn=min(minn,d[i][n]);
printf("%d",minn);
return ;
}
最新文章
- NodeJs之OS
- NYOJ 478
- linux实践之程序破解
- hibernate 注解 主键生成策略
- Centos5.8 安装 PHP5.5 和 memcached
- win8_64下安装paramiko
- BZOJ3759: Hungergame 博弈论+线性基
- LOGISTIC REGRESSION
- ZK framework on Java
- 根据powerdesigner的OO模型生成C#代码
- [Linux]Vim的安装及使用
- Yii2 场景
- dojo省份地市级联之省份Dao接口类(三)
- ASP.NET Core 基于JWT的认证(一)
- jdk和cglib动态代理
- POJ3017 Cut the Sequence
- 分享一个生成反遗忘复习计划的java程序
- Commons工具包的使用
- codeforces 578b//";Or"; Game// Codeforces Round #320 (Div. 1)
- Servlet 串联过滤器
热门文章
- linux安装wifi驱动,开热点
- go_函数
- 高性能Web服务器Nginx的配置与部署研究(13)应用模块之Memcached模块+Proxy_Cache双层缓存模式
- Mask_RCNN测试自己的模型(练习)
- 商业级别Fortify白盒神器介绍与使用分析
- Windows多线程编程入门
- [Training Video - 4] [Groovy] Constructors in groovy, this keyword
- 回顾2017系列篇(五):人工智能给UI/UX设计带来的影响
- 在git bash中使用命令行调用tortoisegit提交代码或查看日志
- tree.J48