题目传送门

差分约束基础,对于每种关系建不同的边,求是否有负环。

code:

/**************************************************************
Problem: 3436
User: yekehe
Language: C++
Result: Accepted
Time:252 ms
Memory:10916 kb
****************************************************************/ #include <cstdio>
#include <vector>
#include <cstring>
using namespace std; char tc()
{
static char fl[],*A=fl,*B=fl;
return A==B&&(B=(A=fl)+fread(fl,,,stdin),A==B)?EOF:*A++;
} int read()
{
char c;while(c=getchar(),(c<'' || c>'') && c!='-');
int x=,y=;c=='-'?y=-:x=c-'';
while(c=getchar(),c>='' && c<='')x=x*+c-'';return x*y;
} const int MAXN=; int N,M;
int o,x,y,z;
int dist[MAXN],vis[MAXN];
bool flag;
vector < pair<int, int> > a[MAXN]; void cf_spfa(int x)
{
int to,val;
for(int i=;i<a[x].size();i++){
to=a[x][i].first;val=a[x][i].second;
if(dist[x]+val<dist[to]){
if(vis[to]){
flag=true;
return ;
}
else {
dist[to]=dist[x]+val;
vis[to]=;
cf_spfa(to);
}
}
}
vis[x]=false;
}//SPFA判负环 int main()
{
// freopen("x.txt","r",stdin);
N=read(),M=read();
for(int i=; i<=M; i++){
o=read();
if(o==) {x=read(),y=read(),z=read();a[y].push_back(make_pair(x,-z));}
if(o==) {x=read(),y=read(),z=read();a[x].push_back(make_pair(y,z));}
if(o==) {x=read(),y=read();a[x].push_back(make_pair(y,)),a[y].push_back(make_pair(x,));}
}//建边
for(int i=; i<=N; i++) {memset(dist,,sizeof(dist));cf_spfa(i);if(flag)break;}
if(flag)puts("No");
else puts("Yes");
return ;
}

BZOJ3436_小K的农场_KEY的更多相关文章

  1. 【BZOJ】3436: 小K的农场

    3436: 小K的农场 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 938  Solved: 417[Submit][Status][Discuss ...

  2. 2014.7.7 模拟赛【小K的农场】

    3.小K的农场(farm.pas/cpp/c) [题目描述] 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共m个),以下列三 ...

  3. 【BZOJ3436】小K的农场(差分约束)

    [BZOJ3436]小K的农场(差分约束) 题面 由于BZOJ巨慢无比,使用洛谷美滋滋 题解 傻逼差分约束题, 您要是不知道什么是差分约束 您就可以按下\(Ctrl+W\)了 #include< ...

  4. BZOJ_3436_小K的农场_差分约束

    BZOJ_3436_小K的农场_差分约束 题意: 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得 一些含糊的信息(共m个),以下列三种形式描述 ...

  5. P1993 小K的农场

    P1993 小K的农场比较裸的差分约束,只是我判负环的时候sb了... 有负环意味着无解 #include<iostream> #include<cstdio> #includ ...

  6. 洛谷 P1993 小K的农场 解题报告

    P1993 小K的农场 题目描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共m个),以下列三种形式描述: 农场a比农场b ...

  7. P1993 小K的农场 && 差分约束

    首先第一篇讨论的是差分约束系统解的存在 差分约束系统是有 \(n\) 个变量及 \(m\) 个(如 \(x_{i} - x_{j} \leq a_{k}\) )关系组成的系统 差分约束解的求解可以转化 ...

  8. BZOJ3436: 小K的农场(差分约束裸题&DFS优化判环)

    3436: 小K的农场 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2111  Solved: 986[Submit][Status][Discus ...

  9. 洛谷P1993 小K的农场 [差分约束系统]

    题目传送门 小K的农场 题目描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共m个),以下列三种形式描述: 农场a比农场b ...

随机推荐

  1. ZT JAVA WeakReference

    JAVA WeakReference 分类: JAVA 2012-08-28 16:08 305人阅读 评论(0) 收藏 举报 javareferencehashmapcacheclassnull 在 ...

  2. [原]零基础学习SDL开发之在Android使用SDL2.0渲染PNG图片

    在上一篇文章我们知道了如何在android使用SDL2.0来渲染显示一张bmp图,但是如果是一张png或者一张jpg的图,那么还能显示成功么?答案是否定的 我们需要移植SDL_image库来支持除bm ...

  3. TypeScript----函数

    function add(x:number,y:number):number{ return x+y; } let myAdd=function(x:number,y:number):number{ ...

  4. JavaScript的DOM_处理空白节点

    一.空白节点产生的原因 在非 IE6,7,8 中,标准的 DOM 具有识别空白文本节点的功能.  在火狐浏览器等其他浏览器中是 7个,而 IE6,7,8 自动忽略了,如果要保持一致的子元素节点,需要手 ...

  5. JQuery的异步回调支持 - Promise、Deferred

    1.Deferred对象: 一般在函数内部进行声明,并在运行过程中改变其状态,例如成功或失败,最终返回Promise对象用于状态监听. 主要方法: Deferred.resolve(param...) ...

  6. UVA151 Power Crisis

    嘟嘟嘟 这道题被评为紫题完全是在假(虽然我也跟风评了紫题),顶多黄题难度. 评黄题的主要原因是得知道约瑟夫递推公式,即fn = (fn - 1 +m) % n.表示n个人报数最后的获胜者,需要注意的是 ...

  7. Linux学习总结(十四) 文件的打包和压缩

    文件的压缩和打包,在windos下我们很熟悉.rar和.zip文件,这是两种压缩文件,他们支持单个文件和多个文件的压缩.windos下我们不提及打包的概念,虽然多个文件的压缩肯定存在打包过程.打包和压 ...

  8. sql注入二

    大家早上好!今天由我给大家带来<web安全之SQL注入篇>系列晨讲,首先对课程进行简单介绍,SQL注入篇一共分为三讲:        第一讲:“纸上谈兵:我们需要在本地架设注入环境,构造注 ...

  9. 关于P/Invoke的闲话

    P/Invoke,Platform Invoke,平台调用,是.NET打通托管与非托管两个世界的通路,10来年前曾经研究过这方面的技术,还曾发表过相关文章在<程序员>上,呵呵. 昨天有需求 ...

  10. js 获取后台数据分页

    页面创建一个存放内容的容器,以及分页的容器: <div id="content"></div> <div id="pager"&g ...