wikioi 1021 玛丽卡
链接:http://wikioi.com/problem/1021/
这题挺有意思的,虽然比较水,但是让我想起来那次百度or腾讯的一道最大流的题目,很给力,也是对最后找边进行优化,不过这题比那题简单多了,找出最短路,然后对最短路上的变进行一下标记,最后找边的时候只招最短路上的边就可以了。
代码:
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <stdlib.h>
#include <vector>
#include <set>
#include <queue>
#include <stack>
#define loop(s,i,n) for(i = s;i < n;i++)
#define cl(a,b) memset(a,b,sizeof(a))
using namespace std;
int vis[],pre[],dis[];
struct edge
{
int u,v,w,next,id;
}edges[*]; int head[];
int cnt;
void addedge(int u,int v,int w,int id)
{
edges[cnt].u = u;
edges[cnt].v = v;
edges[cnt].w = w;
edges[cnt].id = id;
edges[cnt].next = head[u];
head[u] = cnt;
cnt++;
}
void init()
{
cnt = ;
cl(head,-);
}
int spfa(int n,int flag)
{
int i;
loop(,i,n+)
vis[i] = ,dis[i] = *+;
queue<int> q;
q.push();
vis[] = ;
dis[] = ;
pre[] = -;
while(!q.empty())
{
int u,v;
u = q.front();
q.pop();
vis[u] = ;
for(int i = head[u];i != -;i = edges[i].next)
{
if(edges[i].id == flag)
continue;
v= edges[i].v;
if(dis[v] > edges[i].w+dis[u])
{
dis[v] = edges[i].w+dis[u];
pre[v] = i;
if(!vis[v])
q.push(v),vis[v] = ;
}
}
}
return dis[n];
}
int main()
{
int n,m;
scanf("%d %d",&n,&m);
{
int i,j;
int u,v,w;
init();
for(i = ;i <= m;i++)
scanf("%d %d %d",&u,&v,&w),addedge(u,v,w,i),addedge(v,u,w,i);
int ans;
ans = -;
spfa(n,);
for(i = pre[n];i != - ;i = pre[edges[i].u])
{
int leap;
leap = edges[i].id;
ans = max(ans,spfa(n,leap));
}
printf("%d\n",ans);
}
return ;
}
wikioi 1021 玛丽卡的更多相关文章
- Code[VS]1021 玛丽卡题解
Code[VS]1021 玛丽卡题解 SPFA Algorithm 题目传送门:http://codevs.cn/problem/1021/ 题目描述 Description 麦克找了个新女朋友,玛丽 ...
- Codevs 1021 玛丽卡
Codevs 1021 玛丽卡 题目地址:http://codevs.cn/problem/1021/ 题目描述 Description 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他 ...
- 1021 玛丽卡 - Wikioi
题目描述 Description麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行. 在这个国家中每两个城市之间最多只有一条路相通,并且我们知 ...
- codevs 1021 玛丽卡(spfa)
题目描述 Description 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行. 在这个国家中每两个城市之间最多只有一条路相通,并且我们 ...
- Codevs 1021 玛丽卡==洛谷 P1186
时间限制: 2 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个 ...
- Codevs 1021 (玛丽卡)
题目描述 Description 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行. 在这个国家中每两个城市之间最多只有一条路相通,并且我们 ...
- 玛丽卡(codevs 1021)
题目描述 Description 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行. 在这个国家中每两个城市之间最多只有一条路相通,并且我们 ...
- codevs1021 玛丽卡
题目描述 Description 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行. 在这个国家中每两个城市之间最多只有一条路相通,并且我们 ...
- #图# #SPFA# ----- codevs1021 玛丽卡
codevs1021 玛丽卡 题目描述 Description麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复.因为她和他们不住在同一个城市,因此她开始准备她的长途旅行.在这个国家中每两个城市之间最多 ...
随机推荐
- 利用Dockerfile构建一个基于CentOS 7镜像
利用Dockerfile构建一个基于CentOS 7,包括java 8, tomcat 7,php ,mysql+mycat的镜像. Dockerfile内容如下: FROM centosMAINTA ...
- Ensure Indexes Fit in RAM
Ensure Indexes Fit in RAM — MongoDB Manual https://docs.mongodb.com/manual/tutorial/ensure-indexes-f ...
- UIWebView中加载的网页尺寸太大,如何让网页适应屏幕大小 WebView加载HTML图片大小自适应与文章自动换行
webview.scalesPageToFit = YES; http://www.cnblogs.com/yujidewu/p/5740934.html 若需要根据图片原本大小,宽度小于320px的 ...
- postman app支持浏览器上的cookie
1. 安装postman app 注意要安装postman application(一个应用软件),而不是chrome 插件,打开下面的这个开关 2. chrom浏览器 给chrom浏览器安装pos ...
- 存储5——逻辑卷管理LVM
1. LVM概念 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻辑上 ...
- git-【一】概述安装
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...
- 初识MVCSharp
MVCSharp其实是MVP模式 主要内容 ITask IView IController
- PAT 1111 Online Map[Dijkstra][dfs]
1111 Online Map(30 分) Input our current position and a destination, an online map can recommend seve ...
- SpringData_CrudRepository接口
CrudRepository CrudRepository 接口提供了最基本的对实体类的添删改查操作 T save(T entity);//保存单个实体 Iterable<T> save( ...
- http之工作原理
HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端.HTTP协议采用了请求/响应模型.客户端向服务器发送一个请求报文,请求报文包含请求的方法.URL. ...