5.29 狡猾的商人(把后天的写了,老师不会打我吧)
狡猾的商人(多么社会的题目名),听周*涛说是水题
看了一眼题目,确让过眼神,我遇上对的题,这题是一道用差分约束系统来判断是否存在环的情况
P3385[模板]负环:我不要面子的???
题目所给条件是a时间到b时间之内赚的钱数
a-b==c
所以建立关系
b->a的权值为c
a->b的权值为-c
因为可能出现负环也可能出现正环
再跑spfa判断是否成环
这题找最长路找最短路都可以,因为这无关紧要,只需要判断是否存在环
拙劣の代码:
#include<bits/stdc++.h>
using namespace std;
const int maxn=10000;
struct lk
{
int up;
int zd;
int vis;
}w[maxn*2];
int h[maxn],top,bj[maxn],n,ans[maxn],bns[maxn],flag;
void pop(int next,int end,int viss)
{
w[++top].up=h[next];
w[top].zd=end;
w[top].vis=viss;
h[next]=top;
}
queue<int>mp;
void spfa(int l)
{
memset(bj,0,sizeof(bj));
memset(ans,-127,sizeof(ans));
ans[l]=0;
bj[l]=1;
mp.push(l);
while(!mp.empty())
{
//cout<<"1"<<endl;
int x=mp.front();
bj[x]=0;
mp.pop();
for(int i=h[x];i!=0;i=w[i].up)
{
int v=w[i].zd;
if(ans[x]+w[i].vis>ans[v])
{
ans[v]=ans[x]+w[i].vis;
bns[v]=bns[x]+1;
if(bns[v]>n)
{
flag=1;
return ;
}
if(bj[v]==0)
{
bj[v]=1;
mp.push(v);
}
}
}
}
}
int main()
{
int m,k,a,b,viss;
cin>>k;
while(k)
{
top=0;
flag=0;
memset(h,0,sizeof(h));
memset(bns,0,sizeof(bns));
k--;
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>a>>b>>viss;
pop(a-1,b,-viss);
pop(b,a-1,viss);
}
for(int i=1;i<=n;i++)//保证所有点联通而走一遍代替虚拟节点
{
if(!bns[i])
spfa(i);
if(flag==1)
break;
}
if(flag==1)
cout<<"false"<<endl;
else
cout<<"true"<<endl;
}
return 0;
}
这里应该可以也做一个虚拟节点将所有的点链接起来,权值为0
转载于:https://www.cnblogs.com/qyh2003/p/9102051.html
5.29 狡猾的商人(把后天的写了,老师不会打我吧)相关推荐
- 1202: [HNOI2005]狡猾的商人
1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1554 Solved: 745 [Submit][St ...
- BZOJ1202 [HNOI2005]狡猾的商人 【并查集】
1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 4180 Solved: 2015 [Submit][S ...
- bzoj1202[HNOI2005]狡猾的商人
bzoj1202[HNOI2005]狡猾的商人 题意: 账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai .所谓一段时间内的总收入,就是这段时间内每个月的收入额的总和.给出m段时间内的总 ...
- P2294 [HNOI2005]狡猾的商人
P2294 [HNOI2005]狡猾的商人 题意: 你需要调查某个商人的账本,给你n个月内,m条账单信息,每条账单信息为x到y月的收入或者支出多少钱,问你根据账单信息判断这个账本是否合理 5 3 1 ...
- bzoj 1202: [HNOI2005]狡猾的商人(带权并查集)
1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 3616 Solved: 1740 [Submit][S ...
- 洛谷 P2294 [HNOI2005]狡猾的商人
洛谷 P2294 [HNOI2005]狡猾的商人 题目: 有图·.转链接 题解: 差分约束. 虽然题目中没有出现不等式,但还是属于差分约束的范畴之内的. 一开始我就按照它的要求u到v加权值w的边.但发 ...
- [HNOI2005]狡猾的商人
[HNOI2005]狡猾的商人 Time Limit: 10 Sec Memory Limit: 162 MB Description 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪 ...
- HNOI2005 狡猾的商人
目录 前言 关于建图 关于建图的基本规律 关于跑图 如何判定是否有解 是跑最长路还是最短路 前言 差分约束:通过建图来判断一组(或多组)式子是否可以同时成立尽管在NOIP中并不是经常考到,但我觉得它建 ...
- [HNOI2005]狡猾的商人(差分约束)
P2294 [HNOI2005]狡猾的商人 (来自Luogu) 题目概述 数据规模: w,n,m <= 100 思路: 这个题的难点在于不好想到差分,转化:a-b=k是a-b>=k& ...
- bzoj1202 狡猾的商人[并查集]
1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2932 Solved: 1382 [Submit][Sta ...
最新文章
- c类事业编计算机岗面试题,事业单位综合应用C类:让人头疼的摘要题到底怎么写?...
- Android开发之CoordinatorLayout使用详解一
- Mediasoup简介及其基本概念
- iis mysql版本切换_MySQL+PHP配置 Windows系统IIS版(转)
- bootstrap拖动div_JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)
- python基础19 -------面向对象终结篇(介绍python对象中各种内置命令)
- Oracle 去掉重复字符串
- 单位工作制度牌展示_员工工号牌管理制度
- “鲁班”画海报、“小蜜”当客服,“菜鸟”管物流……,双十一阿里黑科技知多少...
- 小步大步算法,循环(Transform,玲珑杯 Round#5 F lonlife 1061)
- 营销科学学会2021年年会揭晓玫琳凯博士论文奖得主
- Python处理图片九宫格,炫酷朋友圈
- 纵横网络靶场社区 工控
- 量化系统工程师需要学什么?
- gpu云服务器运行游戏_GPU云服务器可以挂在大型游戏吗
- 小记Android Gradle插件 Iven 记于 20190522 药厂
- c语言-求两个数的最小公倍数
- 基于蛋白-配体复合物药效团药物设计(Pharmacophore)
- 使用element-tiptap富文本编辑器报错Cannot read property ‘lang‘ of undefined
- 嘿嘿,我发现了百度网盘秒传的秘密 !!