bzoj3436
题解:
查分约数系统
1情况:x->y 建立条-z
2情况:y->x 建一条z
3情况:x->y建一条0
然后0对于每一个点见一个0
跑一下最短路,看是否又负环
代码:
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+;
int n,m,pd,x,b[N*],dis[N],f[N],cost[N],num,sl[N],y,z,fi[N],ne[N],zz[N];
void jb(int x,int y,int z)
{
ne[++num]=fi[x];
fi[x]=num;
zz[num]=y;
sl[num]=z;
}
int main()
{
scanf("%d%d",&n,&m);
while (m--)
{
scanf("%d",&pd);
if (pd==)
{
scanf("%d%d%d",&x,&y,&z);
jb(x,y,-z);
}
if (pd==)
{
scanf("%d%d%d",&x,&y,&z);
jb(y,x,z);
}
if (pd==)
{
scanf("%d%d",&x,&y);
jb(x,y,);
}
}
int l=,r=;
f[]=cost[]=;
memset(dis,0x3f,sizeof dis);
dis[]=;
for (int i=;i<=n;i++)jb(,i,);
while (l!=r)
{
int num=b[l++];
l%=(N*);
f[num]=;
for (int i=fi[num];i;i=ne[i])
{
int t=zz[i];
if (dis[t]>dis[num]+sl[i])
{
dis[t]=dis[num]+sl[i];
if (!f[t])
{
f[t]=;
b[r++]=t;
r%=(N*);
cost[t]++;
if (cost[t]>=n)
{
puts("No");
return ;
}
}
}
}
}
puts("Yes");
return ;
}
bzoj3436的更多相关文章
- 【BZOJ3436】小K的农场(差分约束)
[BZOJ3436]小K的农场(差分约束) 题面 由于BZOJ巨慢无比,使用洛谷美滋滋 题解 傻逼差分约束题, 您要是不知道什么是差分约束 您就可以按下\(Ctrl+W\)了 #include< ...
- 【BZOJ3436】小K的农场 差分约束
[BZOJ3436]小K的农场 Description 背景 小K是个特么喜欢玩MC的孩纸... 描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了, ...
- [bzoj3436]小K的农场_差分约束
小K的农场 bzoj-3436 题目大意:给定n个点,每个节点有一个未知权值.现在有m个限制条件,形如:点i比点j至少大c,点i比点j至多大c或点i和点j相等.问是否可以通过给所有点赋值满足所有限制条 ...
- bzoj3436小K的农场
bzoj3436小K的农场 题意: n个数,知道m条关系:a-b≥c.a-b≤c或a==b.问是否存在满足所有关系的情况.n≤10000,m≤10000. 题解: 差分约束.因为只要求是否满足,因此最 ...
- BZOJ3436——小K的农场
1.题意:大概是给一些制约限制,问是否存在合法解 2.分析:我们来观察这三个限制 农场a比农场b至少多种植了c个单位的作物 可以变成b 比 a至多多种了-c 农场a比农场b至多多种植了c个单位 ...
- BZOJ3436 小K的农场
Description 背景 小K是个特么喜欢玩MC的孩纸... 描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得 一些含糊的信息(共m个 ...
- BZOJ1202 [HNOI2005]狡猾的商人&&BZOJ3436小K的农场
差分约束第三题 传送门: 很明显的差分约束,d[y]-d[x-1]>=v d[y]-d[x-1]<=v 根据这个建图然后跑bellman-ford就可以了. //BZOJ 1202 //b ...
- BZOJ3436: 小K的农场(差分约束裸题&DFS优化判环)
3436: 小K的农场 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2111 Solved: 986[Submit][Status][Discus ...
- 【bzoj3436】小K的农场 差分约束系统+最长路-Spfa
原文地址:http://www.cnblogs.com/GXZlegend/p/6801470.html 题目描述 背景 小K是个特么喜欢玩MC的孩纸... 描述 小K在MC里面建立很多很多的农场,总 ...
随机推荐
- Harbor实现容器镜像仓库的管理和运维
本次分享主要讲述了在开发运维中的管理容器镜像方法.为了便于说明原理,较多地使用Harbor作为例子. 内容主要包括: 开发和生产环境中镜像仓库的权限控制: 镜像远程同步(复制)的原理: 大规模应用镜像 ...
- CDN 环境下获取用户IP方法
CDN 环境下获取用户IP方法 1 cdn 自定义header头的X-Real-IP,在后端使用$http_x_real_ip获得 proxy_set_header X-Real-IP $remote ...
- CoreThink开发(十二)更改默认出错异常页防止暴露敏感数据
默认的异常页会打印文件位置,而且是绝对路径,会打印SQL语句,真实上线一定不要用这个默认的,而且关闭trace关闭调试模式也不行. 针对CoreThink1.2 ThinkPHP3.2 这个文件在 A ...
- 关闭SourceInsight的大括号自动缩进
使用Source Insight可以很好的管理项目代码,也非常便于阅读.但是,在使用Source Insight书写C语言代码时,会发现这样的问题,键入大括号之后,它会自动缩进一个制表符,这种处理跟我 ...
- mapreduce中获取输入文件的路径
InputSplit inputSplit = context.getInputSplit(); String fileName = ((FileSplit) inputSplit).getPath( ...
- 1 TensorFlow入门笔记之基础架构
------------------------------------ 写在开头:此文参照莫烦python教程(墙裂推荐!!!) ---------------------------------- ...
- Spark机器学习3·推荐引擎(spark-shell)
Spark机器学习 准备环境 jblashttps://gcc.gnu.org/wiki/GFortranBinaries#MacOS org.jblas:jblas:1.2.4-SNAPSHOT g ...
- git常用命令【转】
先上一个git常用命令图片 Git配置 1 2 3 4 5 6 7 8 9 git config --global user.name "robbin" git config ...
- UEFI引导修复
一.用bcbboot自动修复 我们建议大家启动64位8PE,用它带的bcdboot来修复. (一)指定esp分区修复 环境为64位8PE,bios/uefi启动进入下都可以 1.启动64位8PE,并用 ...
- Sybase:游标用法以及嵌套用法
Sybase:游标用法以及嵌套用法 游标示例一: --Sybase游标示例一: create PROCEDURE DBA.p_proc_test() ON EXCEPTION RESUME begin ...