Candies POJ - 3159 差分约束
//
#include<iostream>
#include<cstring>
#include<queue>
#include<stack>
#include<stdio.h>
using namespace std;
const int INF=0x3f3f3f3f;
const int N=,M=;
int h[N],e[M],ne[M],w[M],idx;
int st[N];
int dist[N];
int n,m;
bool vis[N];
int Scan()
{
int res = , ch, flag = ;
if((ch = getchar()) == '-') //判断正负
flag = ;
else if(ch >= '' && ch <= '') //得到完整的数
res = ch - '';
while((ch = getchar()) >= '' && ch <= '' )
res = res * + ch - '';
return flag ? -res : res;
}
void add(int a,int b,int c)
{
e[idx]=b;
w[idx]=c;
ne[idx]=h[a];
h[a]=idx++;
}
void spfa(int start)
{
memset(vis,,sizeof vis);
for(int i=;i<=n;i++)
dist[i]=INF;
stack<int>s;
s.push(start);
dist[start]=;
vis[start]=;
while(s.size())
{
int u=s.top();
s.pop();
vis[u]=;
for(int j=h[u];j!=-;j=ne[j])
{
int v=e[j];
int w1=w[j];
if(dist[v]>dist[u]+w1)
{
dist[v]=dist[u]+w1;
if(vis[v]==)
{
s.push(v);
vis[v]=;
}
}
}
}
printf("%d\n",dist[n]);
}
int main()
{
while(scanf("%d%d", &n, &m)!=EOF)
{
idx=;
memset(h,-,sizeof h);
for(int i=;i<m;i++)
{
int x,y,w;
scanf("%d%d%d",&x,&y,&w);
add(x,y,w);
}
spfa();
}
return ;
}
Candies POJ - 3159 差分约束的更多相关文章
- poj 3159(差分约束经典题)
题目链接:http://poj.org/problem?id=3159思路:题目意思很简单,都与给定的条件dist[b]-dist[a]<=c,求dist[n]-dist[1]的最大值,显然这是 ...
- poj 3159 差分约束
思路:班长的糖果要比snoopy的多.并且要用手写堆栈,且堆栈的大小要开到20000000. #include<iostream> #include<cstdio> #incl ...
- (简单) POJ 3159 Candies,Dijkstra+差分约束。
Description During the kindergarten days, flymouse was the monitor of his class. Occasionally the he ...
- Candies POJ - 3159 (最短路+差分约束)
During the kindergarten days, flymouse was the monitor of his class. Occasionally the head-teacher b ...
- poj Layout 差分约束+SPFA
题目链接:http://poj.org/problem?id=3169 很好的差分约束入门题目,自己刚看时学呢 代码: #include<iostream> #include<cst ...
- poj 1201 差分约束
http://www.cnblogs.com/wangfang20/p/3196858.html 题意: 求集合Z中至少要包含多少个元素才能是每个区间[ai,bi]中的元素与Z中的元素重合个数为ci. ...
- POJ - 3169 差分约束
题意:n头牛,按照编号从左到右排列,两头牛可能在一起,接着有一些关系表示第a头牛与第b头牛相隔最多与最少的距离,最后求出第一头牛与最后一头牛的最大距离是多少,如 果最大距离无限大则输出 ...
- POJ 1201 差分约束+SPFA
思路: 差分约束,难在建图.(我是不会告诉你我刚学会SPFA的...) 把每个区间的ai–>bi连一条长度为ci的边. k–>k+1连一条长度为0的边. k+1–>k连一条长度为-1 ...
- Candies POJ - 3159
题目链接:https://vjudge.net/problem/POJ-3159 思路: 能看出是差分约束的题, 我们想假设一个人是 p(1),另一个人是p(2),他们之间糖果差为w, 那么需要满足的 ...
随机推荐
- Coroutine 终止协程和异常处理
终止协程和异常处理 协程中未处理的异常会向上冒泡,传给 next 函数或 send 方法的调用方(即触发协程的对象) 终止协程的一种方式:发送某个哨符值,让协程退出.内置的 None 和 Ellips ...
- node - MongoDB数据库
mongod 安装配置 在Mongodb官网下载最新版本的Mongodb下载地址 下载msi的window安装包,可以装到C盘或者D盘目录下 配置 由于我是安装在D盘的环境下 D:\Program F ...
- CSS选择器世界
CSS选择器世界 CSS选择器的分类与优先级 css选择器分为四类:选择器.选择符(后代关系的空格.>.+.~.||).伪类.伪元素(::before.::after.::first-lette ...
- php面试笔记(2)-php基础知识-常量和数据类型
本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 面试是每一个PHP初学者到PHP程序员必不可少的一步,冷 ...
- LwIP的udp学习笔记
* Bind an UDP PCB. * * @param pcb UDP PCB to be bound with a local address ipaddr and port. * @param ...
- [Linux-CentOS7]yum清华源CentOS7
shell直接运行 cat > 01.yumrepo.sh << 'EOF' # 创建备份路径 mkdir -p /etc/yum.repos.d/repo.bak/ # 备份源 m ...
- 服务器字体导致NPE
服务器字体问题 服务器在windows下运行正常. 搬到Linux之后,注册页有个404??? HTTP Status 500 – Internal Server Error Type 异常报告 消息 ...
- JDK1.8_HashMap源码__构造函数
HashMap的底层实现是一个Node类型的数组,也就是说使用put(key, value)方法的时候就把key和value根据hashcode值存在table数组相应的下标中,源码如下: /** * ...
- MyEclipse10下载安装破解及汉化内含jdk8u241及其帮助文档
下载MyEclipse10以及破解包 MyEclipse10: 提取码:020c 破解包 提取码:mycj 注:破解包内含有破解教程,很详细,这里就不多说了 MyEclipse10汉化 操作系统:wi ...
- springcloud vue.js 前后分离 微服务 分布式 activiti工作流 集成代码生成器 shiro权限
1.代码生成器: [正反双向](单表.主表.明细表.树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本.处理类.service等完整模块2. ...