poj 3159
差分约束
我也忘了谁说的了,反正我记得有人说过,只要是差分约束问题都可以转换成图
至少目前看来都是这样的
我一开始spfa+queue超时
看别人博客才知道要用spfa+stack,感觉智商又下降了一点
#include <iostream>
#include <cstdio>
#include <queue>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
const int maxn = ;
int head[maxn];
int nex[];
int cnt;
int dis[maxn];
bool vis[maxn];
struct node
{
int v;
int w;
};
node mp[];
int n,m;
void adde(int a,int b,int c)
{
mp[cnt].v = b;
mp[cnt].w = c;
nex[cnt] = head[a];
head[a] = cnt++;
}
long long spfa()
{
memset(dis,0x3f,sizeof(dis));
memset(vis,,sizeof(vis));
int stac[maxn];
int top = ;
stac[top++] = ;
dis[] = ;
vis[] =true;
while(top)
{
int u = stac[--top];
vis[u] = false;
for(int i = head[u]; i != -; i = nex[i])
{
//cout << u << " " << mp[i].v << " " << mp[i].w << endl;
if(dis[mp[i].v] > dis[u] + mp[i].w)
{
dis[mp[i].v] = dis[u] + mp[i].w;
//cout<< mp[i].v << " " << dis[mp[i].v] << endl;
if(vis[mp[i].v] == false)
{
stac[top++] = mp[i].v;
vis[mp[i].v] = true;
}
}
}
}
return dis[n];
}
int main()
{
//while(scanf("%d%d",&n,&m) != EOF)
//{
memset(mp,,sizeof(mp));
scanf("%d%d",&n,&m);
cnt = ;
memset(head,-,sizeof(head));
for(int i = ; i < m; ++i)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
adde(a,b,c);
}
printf("%d\n",spfa());
//}
}
poj 3159的更多相关文章
- POJ 3159 Candies (图论,差分约束系统,最短路)
POJ 3159 Candies (图论,差分约束系统,最短路) Description During the kindergarten days, flymouse was the monitor ...
- poj 3159(差分约束经典题)
题目链接:http://poj.org/problem?id=3159思路:题目意思很简单,都与给定的条件dist[b]-dist[a]<=c,求dist[n]-dist[1]的最大值,显然这是 ...
- POJ 3159 Candies(SPFA+栈)差分约束
题目链接:http://poj.org/problem?id=3159 题意:给出m给 x 与y的关系.当中y的糖数不能比x的多c个.即y-x <= c 最后求fly[n]最多能比so[1] ...
- POJ 3159 Candies(差分约束)
http://poj.org/problem?id=3159 题意:有向图,第一行n是点数,m是边数,每一行有三个数,前两个是有向边的起点与终点,最后一个是权值,求从1到n的最短路径. 思路:这个题让 ...
- POJ 3159 Candies 解题报告(差分约束 Dijkstra+优先队列 SPFA+栈)
原题地址:http://poj.org/problem?id=3159 题意大概是班长发糖果,班里面有不良风气,A希望B的糖果不比自己多C个.班长要满足小朋友的需求,而且要让自己的糖果比snoopy的 ...
- POJ 3159 Candies(差分约束+spfa+链式前向星)
题目链接:http://poj.org/problem?id=3159 题目大意:给n个人派糖果,给出m组数据,每组数据包含A,B,C三个数,意思是A的糖果数比B少的个数不多于C,即B的糖果数 - A ...
- POJ 3159 Candies 还是差分约束(栈的SPFA)
http://poj.org/problem?id=3159 题目大意: n个小朋友分糖果,你要满足他们的要求(a b x 意思为b不能超过a x个糖果)并且编号1和n的糖果差距要最大. 思路: 嗯, ...
- poj 3159 Candies(dijstra优化非vector写法)
题目链接:http://poj.org/problem?id=3159 题意:给n个人派糖果,给出m组数据,每组数据包含A,B,c 三个数,意思是A的糖果数比B少的个数不多于c,即B的糖果数 - A的 ...
- POJ 3159 Candies(差分约束,最短路)
Candies Time Limit: 1500MS Memory Limit: 131072K Total Submissions: 20067 Accepted: 5293 Descrip ...
- poj 3159 Candies (差分约束)
一个叫差分约束系统的东西.如果每个点定义一个顶标x(v),x(t)-x(s)将对应着s-t的最短路径. 比如说w+a≤b,那么可以画一条a到b的有向边,权值为w,同样地给出b+w2≤c,a+w3≤c. ...
随机推荐
- step_by_step_CSRF/ XSRF_问题描述
接触Asp.net boilerplate 一段时间,一次同事将他的代码添加到zero项目模板中,他将路由配置成他的页面,目的是要让zero项目登录成功之后跳转到他的页面,可是通过fiddler监视请 ...
- git pre-push hook
This article introduces git pre-push hook. Problem In Lean project, we use a modified version of Goo ...
- mysql学习笔记--go使用mysql
一. 连接数据库 a. //用户名:密码@[连接方式](主机名:端口号)/数据库名 db,_:=sql.Open("mysql","root:7758521123jf@( ...
- Distance on the tree
Distance on the tree https://nanti.jisuanke.com/t/38229 DSM(Data Structure Master) once learned abou ...
- Linux服务器文件和windows本机文件互传方法(本地文件上传Linux,Linux文件下载到本机)
1.windows系统中下载XShell安装文件.下载地址:https://www.newasp.net/soft/384562.html 2.安装之后,新建会话输入远程linux的账号和密码. 3. ...
- 子元素z-index高于父元素兄弟元素z-index被遮挡问题
问题:最近在写样式时,遇到一个这样的问题,子元素的z-index值大于父元素兄弟元素z-index值,结果子元素超出父元素部分被父元素兄弟元素遮挡解决:将父元素的z-index值设置为大于兄弟元素z- ...
- 数据如何输入输出_Spark
1)输入:在Spark程序运行中,数据从外部数据空间(如分布式存储:textFile读取HDFS等,parallelize方法输入Scala集合或数据)输入Spark,数据进入Spark运行时数据空间 ...
- python抓取网页数据处理后可视化
抓取文章的链接,访问量保存到本地 #coding=utf-8 import requests as req import re import urllib from bs4 import Beauti ...
- Scrapy运行ImportError: No module named win32api错误
windows系统上出现这个问题的解决需要安装Py32Win模块,更方便的做法是: pip install pypiwin32
- C# 互通操作 (二)基础知识1
[DllImport("user32.dll", EntryPoint = "MessageBox")] public static extern int De ...