luogu 2294 [HNOI2005]狡猾的商人 差分约束
一个差分约束模型,只需判一下有没有负环即可.
#include <bits/stdc++.h>
#define N 103
#define M 2004
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
int edges;
int hd[N],to[M],nex[M],val[M],d[N],vis[N];
void add(int u,int v,int c)
{
nex[++edges]=hd[u],hd[u]=edges,to[edges]=v,val[edges]=c;
}
int spfa(int u)
{
vis[u]=1;
for(int i=hd[u];i;i=nex[i])
{
int v=to[i];
if(d[v]>d[u]+val[i])
{
if(vis[v]) return 1;
else
{
d[v]=d[u]+val[i];
if(spfa(v)) return 1;
}
}
}
vis[u]=0;
return 0;
}
void work()
{
memset(d,0x3f,sizeof(d));
int n,m,i,j;
scanf("%d%d",&n,&m);
for(i=1;i<=m;++i)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
++b;
add(a,b,c), add(b,a,-c);
}
int flag=0;
for(i=1;i<=n+1;++i)
{
if(!vis[i])
{
d[i]=0;
flag=spfa(i);
if(flag)
{
printf("false\n");
break;
}
}
}
if(!flag)
{
printf("true\n");
}
edges=0;
memset(hd,0,sizeof(hd));
memset(vis,0,sizeof(vis));
memset(d,0,sizeof(d));
}
int main()
{
int T,i,j;
// setIO("input");
scanf("%d",&T);
for(i=1;i<=T;++i) work();
return 0;
}
luogu 2294 [HNOI2005]狡猾的商人 差分约束的更多相关文章
- LUOGU P2294 [HNOI2005]狡猾的商人(差分约束)
[传送门] (https://www.luogu.org/problemnew/show/P2294) 解题思路 差分约束.先总结一下差分约束,差分约束就是解决一堆不等式混在一起,左边是差的形式,右边 ...
- BZOJ 1202: [HNOI2005]狡猾的商人( 差分约束 )
好像很多人用并查集写的... 前缀和, 则 sumt - sums-1 = v, 拆成2条 : sumt ≤ sums-1 + v, sums-1 ≤ sumt - v 就是一个差分约束, 建图跑SP ...
- [luogu P2294] [HNOI2005]狡猾的商人
[luogu P2294] [HNOI2005]狡猾的商人 题目描述 输入输出格式 输入格式: 从文件input.txt中读入数据,文件第一行为一个正整数w,其中w < 100,表示有w组数据, ...
- BZOJ 1202 狡猾的商人 差分约束or带权并查集
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1202 题目大意: 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的 ...
- bzoj1202: [HNOI2005]狡猾的商人(并查集 差分约束)
1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4127 Solved: 1981[Submit][Sta ...
- bzoj1202: [HNOI2005]狡猾的商人(差分约束)
1202: [HNOI2005]狡猾的商人 题目:传送门 题解: 据说是带权并查集!蒟蒻不会啊!!! 可是听说lxj大佬用差分约束A了,于是开始一通乱搞. 设s[i]为前i个月的总收益,那么很容易就可 ...
- BZOJ[HNOI2005]狡猾的商人(差分约束)
1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4969 Solved: 2496[Submit][Sta ...
- P2294 [HNOI2005]狡猾的商人(差分约束)
P2294 [HNOI2005]狡猾的商人 对于每个$(x,y,w)$,连边$(x-1,y,w),(y,x-1,-w)$,表示前$y$个月的收益比前$x-1$个月的收益大$w$ 这样题目就转化为询问图 ...
- [HNOI2005]狡猾的商人 ,神奇做法——贪心
洛谷P2294 [HNOI2005]狡猾的商人 ,神奇做法--贪心 看到大牛都是写的差分约束或带权并查集,本蒟蒻都不太会(还是用差分约束过了的QAQ),但是想出一种贪心的策略,运用神奇的优先队列实现. ...
随机推荐
- 手机网站支付如何接入支付宝简易版支付功能PHP版
接入支付宝准备工作:(关于账号可以是个体商户也可以是企业账号但必须有营业执照) 1.登录蚂蚁金服开放平台 2.创建应用,应用分类网页应用和移动应用.应用提交审核审核通过后得到Appid才能调用相应的 ...
- DevExpress WPF控件记录
以下是博主用到DevExpress WPF控件时的一些记录笔记: 1.Canvas控件:Canvas控件的背景色一定要设置(background="Transparent"),不然 ...
- shell习题第12题:批量创建用户
[题目要求] 用shell脚本实现如下需求 添加user_00 -- user_09 10个用户,并且给他们设置一个随机密码,密码要求10位包含大小写字母及数字,注意要把每个用户的密码记录到一个日志文 ...
- 手机设置Fiddler代理后无法访问Https网络的解决办法
第一种方法: 首先,下载最新版本的Fiddler,将手机和PC设置为统一局域网(手机链接PC的wifi) 打开手机设置-无线网络设置,设置代理为手动,输入pc的ip和Fillder的端口8888(Fi ...
- 复习最短路 spfa+dijstra堆优化
题目很简单,, 但是wa了三次,, 用<vector>之前一定要记得clear()...简单说下 spfa的问题 和bell_forman有点类似 每次取出一个点 然后更新 并把更新了的节 ...
- CodeFirst与EntityFramework
项目添加EntityFramework命令:Install-Package EntityFramework CodeFirst默认规则1. 数据库映射:Code First 默认会在本地的SQL Ex ...
- django+pymysql搭建一个管理系统(一)
django+pymysql搭建一个管理系统(一) 后续进行代码更新,优化 一.程序架构 二.mysql表单创建 zouye库:存信息相关的 #班级表 create table classes( ci ...
- 微信小程序异步回调
场景如下:现有一个方法需要等待其他N个异步函数执行完毕后执行,callback麻烦的头大,翻了一波API原来小程序已经支持 async函数,那一切就好办了. 废话不多说,直接开始撸... 第一步:打开 ...
- LEANGOO用户设置
转自:https://www.leangoo.com/leangoo_guide/leangoo_guide_kanban_user.html#toggle-id-7 1. 点击屏幕右上角头像或用户名 ...
- try,except,finally的用法
try,except,finally try...except形式:指定一个或多个异常处理器(异常子句).. 当在try子句中没有异常发生时,,异常处理器将不被执行. 当在try子句中有异常发生时,首 ...