bzoj2662冻结
话说为什么出题人老是卡$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 ;
}
bzoj2662冻结的更多相关文章
- 分层图最短路【bzoj2662】[BeiJing wc2012]冻结
分层图最短路[bzoj2662][BeiJing wc2012]冻结 Description "我要成为魔法少女!" "那么,以灵魂为代价,你希望得到什么?" ...
- BZOJ2662[BeiJing wc2012]冻结——分层图最短路
题目描述 “我要成为魔法少女!” “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„” 在这个愿望被实现以后的世界里,人们享受着魔法卡片(Spe ...
- BZOJ2662: [BeiJing wc2012]冻结 spfa+分层图
Description “我要成为魔法少女!” “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„” 在这个愿望被实现以后的世界里,人们享 ...
- BZOJ2662:[BJWC2012]冻结(分层图最短路)
Description “我要成为魔法少女!” “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„” 在这个愿望被实现以后的世界里,人们享 ...
- 【bzoj2662】[BeiJing wc2012]冻结 分层图Spfa
原文地址:http://www.cnblogs.com/GXZlegend 题目描述 “我要成为魔法少女!” “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„ ...
- BZOJ2662[BeiJing wc2012]冻结【SPFA】
“我要成为魔法少女!” “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„” 在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard ...
- [bzoj2662 BeiJing wc2012] 冻结 (分层图+最短路)
传送门 Description "我要成为魔法少女!" "那么,以灵魂为代价,你希望得到什么?" "我要将有关魔法和奇迹的一切,封印于卡片之中„„&q ...
- BZOJ2662 [BeiJing wc2012]冻结
网上的题解都是分层图+spfa或者dijkstra 我觉得dijk太难写了,懒得写,看了一下数据范围$N=50$,这显然是出题人勾引人犯罪 我决定使用floyd的做法,令$f[i][j][t](k)$ ...
- 【BZOJ2662】【BeiJing wc2012】冻结 分层图 裸的!
我都不好意思发题解了,看这篇博吧.(飞行路线的,基本一样) http://blog.csdn.net/vmurder/article/details/40075989 同学做了好久.我害怕题里有坑,又 ...
随机推荐
- 插入后获取到id
第一种方法: insert INTO student(name) VALUES("南亚");SELECT @@identity 第二种方法: insert INTO student ...
- 【LA2238 训练指南】固定分区内存管理 【二分图最佳完美匹配,费用流】
题意 早期的多程序操作系统常把所有的可用内存划分为一些大小固定的区域,不同的区域一般大小不同,而所有区域的大小之和为可用内存的大小.给定一些程序,操作系统需要给每个程序分配一个区域,使得他们可以同时执 ...
- 混合开发Js bridge新秀-DSBridge iOS篇
这个DSBridge 和我之前开发做的混合开发 用的方式 很相似,所以觉得很是不错,推荐给你大家. DSBridge-IOS:https://github.com/wendux/DSBridge-IO ...
- 获取网页上的所有QQ号码,并生成exel报表
需要的jar如下: package jsoup.zr.com.utils; /** * * @author LF * */ public class Constant { /** * 网站链接地址ַ ...
- 【小前端】float属性
要求 需要float的元素,必须指定一个width宽度 没了 然后就可以指定 float:right 什么的了
- 908D New Year and Arbitrary Arrangement
传送门 分析 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string ...
- RedisHelper in C#
自己写了一个RedisHelper,现贴出来,希望各位大神能够指正和优化. using System; using StackExchange.Redis; using System.Configur ...
- Perl 学习笔记-标量数据
最近学习Perl, 准备看一遍入门指南,关键的东西还是记录下来,以便以后复习和查看参考. 笔记来自<<Perl语言入门第5版>> 1. 在Perl内部,不区分整数值和浮点数值, ...
- MySQL 存储过程 -流程控制的使用
#五.流程控制的使用 #1.IF 使用 create PROCEDURE iftest1() BEGIN DECLARE a int DEFAULT 10; -- IF (a>1 &&a ...
- 编写高质量代码改善C#程序的157个建议——建议103:区分组合和继承的应用场合
建议103:区分组合和继承的应用场合 继承所带来的多态性虽然是面向对象的一个重要特性,但这种特性不能在所有的场合中滥用.继承应该被当做设计架构的有用补充,而不是全部. 组合不能用于多态,但组合使用的频 ...