BZOJ 3436: 小K的农场( 差分约束 )

orz云神...

真的给跪了...BFS版spfa T 掉了...然后DFS版的就A了...我现在很迷茫....

这就是个普通的差分约束... 

------------------------------------------------------------------------------

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stack>
#include<iostream>
#define rep(i, n) for(int i = 0; i < n; ++i)
#define clr(x, c) memset(x, c, sizeof(x))
using namespace std;
const int maxn = 10010;
struct edge {
int to, w;
edge*next;
} E[maxn << 1], *pt = E, *head[maxn];
inline void add_edge(int u, int v, int d) {
pt->to = v, pt->w = d;
pt->next = head[u];
head[u] = pt++;
}
int d[maxn], inS[maxn], cnt[maxn], n;
stack<int> S;
bool spfa() {
rep(i, n)
S.push(i), inS[i] = true, cnt[i] = 1, d[i] = 0;
while(!S.empty()) {
int x = S.top(); S.pop();
inS[x] = false;
for(edge*e = head[x]; e; e = e->next) if(d[e->to] > d[x] + e->w) {
   d[e->to] = d[x] + e->w;
   if(!inS[e->to]) {
if(++cnt[e->to] > n) return false;
       S.push(e->to), inS[e->to] = true;
   }
}
}
return true;
}
inline int read() {
char c = getchar();
for(; !isdigit(c); c = getchar());
int ans = 0;
for(; isdigit(c); c = getchar())
   ans = ans * 10 + c - '0';
return ans;
}
void init() {
clr(head, 0);
n = read();
int m = read();
while(m--) {
int t = read(), u = read() - 1, v = read() - 1;
if(t == 3) 
   add_edge(u, v, 0), add_edge(v, u, 0);
else {
int w = read();
t == 1 ? add_edge(u, v, -w) : add_edge(v, u, w);
}
}
}
int main(){
freopen("test.in", "r", stdin);
init();
printf(spfa() ? "Yes\n" : "No\n");
return 0;

  

------------------------------------------------------------------------------ 

3436: 小K的农场

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 351  Solved: 186
[Submit][Status][Discuss]

Description


 背景

    小K是个特么喜欢玩MC的孩纸。。。

 描述

    小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共m个),以下列三种形式描述:农场a比农场b至少多种植了c个单位的作物,农场a比农场b至多多种植了c个单位的作物,农场a与农场b种植的作物数一样多。但是,由于小K的记忆有些偏差,所以他想要知道存不存在一种情况,使得农场的种植作物数量与他记忆中的所有信息吻合。输入格式

 

Input

   第一行包括两个整数n和m,分别表示农场数目和小K记忆中的信息的数目

    接下来m行:

    如果每行的第一个数是1,接下来有三个整数a,b,c,表示农场a比农场b至少多种植了c个单位的作物    如果每行第一个数是2,接下来有三个整数a,b,c,表示农场a比农场b至多多种植了c个单位的作物

    如果每行第一个数是3,接下来有两个整数a,b,表示农场a种植的数量与b一样多输出格式

Output

    如果存在某种情况与小K的记忆吻合,输出”Yes”,否则输出”No”

Sample Input

33
312
1131
2232

Sample Output


Yes

样例解释

三个农场种植的数量可以为(2,2,1)。


对于100%的数据,1<=n,m,a,b,c<=10000


HINT

Source

Kpmcup#0 By Greens

 

转载于:https://www.cnblogs.com/JSZX11556/p/4657366.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358547.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

教你玩转CSS Float(浮动)

目录 什么是 CSS Float(浮动)? 元素怎样浮动 彼此相邻的浮动元素 清除浮动 - 使用 clear CSS 中所有的浮动属性 什么是 CSS Float(浮动)? CSS 的 Float(浮动),会使元素向左或向右移动

CORS同源策略

同源策略 什么是同源策略&#xff08;Same Origin Policy&#xff09;&#xff1f;什么是跨域?什么是域名? 什么是同源策略&#xff08;Same Origin Policy&#xff09;&#xff1f; 所谓同源策略&#xff0c;所谓同源是指&#xff0c;域名&#xff0c;协议&#xff0c;端口…

把html文件变成php,怎么把动态的php文件转换成静态的html文件,html文件是php文件…...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼生成静态文件除了2楼所说的ob缓存方法之外&#xff0c;还有一种方法就是通过使用模板替换技术实现(正则表达式)header("content-type:text/html;charsetutf-8");//处理添加、修改、删除请求//1.接收一下oper$oper$_REQUE…

[转]hadoop新手错误解决方法

解决Exception: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 等一系列问题&#xff0c;ljavalangstring 一&#xff0e;简介 Windows下的 Eclipse上调试Hadoop2代码&#xff0c;所以我们在windows下的Eclipse配置hadoop-eclipse-plugin-2.6…

教你玩转CSS 居中

目录 元素居中对齐 文本居中对齐 图片居中对齐 左右对齐 - 使用定位方式 左右对齐 - 使用 float 方式 垂直居中对齐 - 使用 padding

JSFinder—从js文件中寻找敏感接口和子域名

说在前面 在渗透测试及漏洞挖掘过程中&#xff0c;信息搜集是一个非常重要的步骤。而在网站的JS文件中&#xff0c;会存在各种对测试有帮助的内容。 比如&#xff1a;敏感接口&#xff0c;子域名等。 社区内的文章也有有些关于JS文件提取信息的片段&#xff0c;比如Brupsuit…

spring 测试 事务_Spring陷阱:事务测试被认为是有害的

spring 测试 事务Spring杀手级功能之一是容器内集成测试 。 尽管EJB多年来一直缺乏此功能&#xff08;Java EE 6终于解决了这个问题&#xff0c;但是我尚未进行测试&#xff09;&#xff0c;但是Spring从一开始就允许您从Web层开始&#xff0c;通过所有服务来测试整个堆栈。到数…

HTML页面加载和解析流程详细介绍

浏览器加载和渲染html的顺序1. IE下载的顺序是从上到下&#xff0c;渲染的顺序也是从上到下&#xff0c;下载和渲染是同时进行的。 2. 在渲染到页面的某一部分时&#xff0c;其上面的所有部分都已经下载完成&#xff08;并不是说所有相关联的元素都已经下载完&#xff09;。 3.…

计算机四级必背知识点,2019年6月计算机四级数据库工程师必备考点

【导语】2019年6月计算机四级考试备考正在进行中&#xff0c;为了方便考生及时有效的备考&#xff0c;那么&#xff0c;无忧考网为您精心整理了2019年6月计算机四级数据库工程师必备考点&#xff0c;希望对您备考有帮助。如想获取更多计算机等级考试的模拟题及备考资料&#xf…

教你玩转CSS 组合选择符

目录 后代选择器 子元素选择器 相邻兄弟选择器 后续兄弟选择器 CSS组合选择符包括各种简单选择符的组合方式。 在 CSS3 中包含了四种组合方式: 后代选择器(以空格分隔)子元素选择器(以大于号分隔)相邻兄弟选择器(以加号分隔)普通兄弟选择器(以破折号分隔)后代选择器 …

真香系列-JSFinder实用改造

前言JSFinder是一款优秀的github开源工具&#xff0c;这款工具功能就是查找隐藏在js文件中的api接口和敏感目录&#xff0c;以及一些子域名。 github链接&#xff1a; Code1https://github.com/Threezh1/JSFinder

远程桌面无法找到计算机不属于指定网络,远程桌面找不到计算机

这是我第一次尝试设置一些虚拟机。 我正在尝试rdp给他们&#xff0c;但我遇到了这个错误This is my first attempt in setting up some VMs. I am trying to rdp to them but Im encountering this error**远程桌面无法找到计算机"\[服务器\]"。 这可能意味着"\…

使用API​​密钥(aka身份验证令牌)部署到Maven Central

如何在不使用未加密本地密码的情况下与Maven Central / Nexus通信&#xff08;尤其是使用Gradle&#xff0c;但不仅限于此&#xff09;。 基本原理 不幸的是&#xff0c;Gradle&#xff08;和许多其他构建工具&#xff09;没有提供任何机制来本地加密密码&#xff08;或至少编…

ASP.NET web.config中customErrors节点说明

customErrors>节点用于定义一些自定义错误信息的信息。此节点有Mode和defaultRedirect两个属性&#xff0c;其中defaultRedirect属性是一个可选属性&#xff0c;表示应用程序发生错误时重定向到的默认URL&#xff0c;如果没有指定该属性则显示一般性错误。Mode属性是一个必选…

教你玩转CSS 伪类

目录 语法 anchor伪类 伪类和CSS类 CSS :first-child 伪类 匹配第一个 元素 匹配所有

docker部署nessus+awvs

镜像使用方法 搜索镜像sudo docker search awvs-nessus 然后没有latest标签的镜像&#xff0c;拉取镜像需要使用sudo docker pull leishianquan/awvs-nessus:v03 下载时间有点长&#xff0c;下载后&#xff0c;查看镜像sudo docker images leishianquan/awvs-nessus:v03 盘…

如何取消计算机用户名,Win10如何取消登录界面显示用户名?

Win10如何取消登录界面显示用户名?求之不得&#xff0c;梦寐思服。得到之后&#xff0c;不过尔尔!不知道您为什么求Win10取消登录界面显示用户名的操作方法&#xff0c;个人感觉&#xff0c;结果很令人不习惯。还不如改成直接登陆系统呢!既然搜索&#xff0c;必然有用&#xf…

教你玩转CSS 伪元素

目录 CSS 伪元素 语法 :first-line 伪元素 :first-letter 伪元素 伪元素和CSS类 多个伪元素 CSS - :before 伪元素

闰秒对数据库和linux的影响

xiangzhenggui(向正贵) 07-01 17:52:36从日志情况看&#xff0c;这次zookeeper&#xff0c;hadoop出现异常确实与2015年7月1号8&#xff1a;00闰秒有关系xiangzhenggui(向正贵) 07-01 17:59:06DataInputStream.java:370) at org.apache.jute.BinaryInputArchive.readInt(Bin…

sqlmap (--os-shell)的使用

文章目录 第一步 搭建存在sql注入的网站第二步 扫描注入点第三步 选择网站的语言第四步 输入网站的绝对路径第五步 查看权限 第一步 搭建存在sql注入的网站 第二步 扫描注入点 python sqlmap.py -u "http://192.168.232.129/cms/show.php?id33" --os-shell第三步…