POJ 3169 差分约束系统

从差分约束到最短路径(POJ 3169) 话不多说,先来看这么几个线性规划的约束方程: x1−x2⩽0x1−x5⩽−1x2−x5⩽1x3−x1⩽5x4−x1⩽4x4−x3⩽−1x5−x3⩽−3x5−x4⩽−3\begin{equation} x_1-x_2 \leqslant 0 \\ x_1-x_5 \leqslant -1 \\ x_2-x_5 \leqslant 1 \\ x_3-x_1 \leqslant 5 \\ x_4-x_1 阅读详情
大致题意:

    有n头牛,按照序号1……n排队,多头牛可以站在同一个位置(暂且这么认为),也就是任意两头牛之间的距离都大于等于0。先给出ml组约束关系(u,v,w)代表第u牛和第v牛之间的距离要小于等于w。再给出md组关系(u,v,w),代表第u牛和第v牛之间的距离要大于等于w。求这n头牛排成的队伍能否符合以上的约束,不能的话(也就是出现负环),输出“-1”,如果距离是inf,输出“-2”。否则输出这个最短距离。

大致思路:

    转化为差分约束模型。dis[i]表示第i头牛所在的位置。如果spfa判断出负环的话就输出-1,如果dis[n]==inf则输出-2。否则输出dis[n]。

#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;

const int inf=1<<30,
		maxv=1005,
		maxe=20005;
struct edge
{
	int u,v,k,next;
	void init(int tu,int tv,int tk,int tnext)
	{
		u=tu, v=tv, k=tk, next=tnext;
	}
}e[maxe];
int link[maxv],cnt[maxv],d[maxv];
int ne;
bool vis[maxv];

void addedge(int u,int v,int k)
{
	e[ne].init(u,v,k,link[u]);
	link[u]=ne++;
}

int spfa(int s,int t)
{
	int i,n=t-s;
	for(i=s;i<=t;i++)
	{
		d[i]=inf;
	}
	queue<int> q;
	memset(vis,0,sizeof(vis));
	memset(cnt,0,sizeof(cnt));
	q.push(s);
	vis[s]=true;
	d[s]=0;
	cnt[s]++;
	while(!q.empty())
	{
		int p,v,u=q.front();
		q.pop();
		vis[u]=false;
		for(p=link[u];p!=-1;p=e[p].next)
		{
			v=e[p].v;
			if(d[v]>d[u]+e[p].k)
			{
				d[v]=d[u]+e[p].k;
				cnt[v]++;
				if(cnt[v]>n)
				{
					return -1;
				}
				if(!vis[v])
				{
					vis[v]=true;
					q.push(v);
				}
			}
		}
	}
	if(d[t]==inf)
	{
		return -2;
	}
	return d[t];
}

int main()
{
	int n,ml,md;
	while(~scanf("%d%d%d",&n,&ml,&md))
	{
		ne=0;
		memset(link,-1,sizeof(link));
		int u,v,k;
		while(ml--)
		{
			scanf("%d%d%d",&u,&v,&k);
			addedge(u,v,k);
		}
		while(md--)
		{
			scanf("%d%d%d",&u,&v,&k);
			addedge(v,u,-k);
		}
		printf("%d\n",spfa(1,n));
	}
	return 0;
}




基于ADS的低噪声放大电路设计 1. 低噪声放大器设计理论基础 1.1 低噪声放大器在通信系统中的作用 低噪声放大器的主要作用是放大天线从空中接收到的微弱信号,减小噪声干扰,以供系统解调出所需的信息数据。当今,人们对于各种无线通信工具的要求越来越高,如功率辐射要小、作用距离要远、覆盖范围要广等,这就对系统的接收灵敏度提出了更高的要求,系统接收灵敏度的计算公式为: Smin⁡=−144(dBmHz)+NF+10lg⁡BW(MHz)+SN(dB) {S_{\min }} = - 144\left( {\frac{{{\rm{dBm}}}}{ 阅读详情

相关推荐

STM32F429网络通信避坑指南:用CubeMX搞定LAN8720+LWIP+FreeRTOS(附完整代码)

本文详细介绍了STM32F429通过CubeMX配置LAN8720+LWIP+FreeRTOS实现网络通信的避坑指南,涵盖硬件连接、CubeMX配置、LWIP优化及调试技巧,提供完整代码和实战经验,帮助开发者高效解决以太网通信中的常见问题。

weixin_26873711的博客 145

Poj 3169(差分约束系统)

题目传送门 首先我们要知道最短路问题的本质是: 111.从起点S出发到各个顶点v的最短距离是d[v]d[v]d[v]。 2.对于每条权值为w的边e=(v,u),都有d[v]+w>=d[u]成立2.对于每条权值为w的边e=(v,u),都有d[v]+w>=d[u]成立2.对于每条权值为w的边e=(v,u),都有d[v]+w>=d[u]成立。 3.3.3.当所有满足以上的所有不等式的d中,d[v]−d[s]d[v]-d[s]d[v]−d[s]的最大值就是从S到V的最短距离(注意是最大值才是最短距

qq_52093121的博客 692

MATLAB仿真实战:双有源桥(DAB)变换器的扩展移相调制(EPS)全流程解析

本文提供了一份详细的MATLAB/Simulink仿真实战指南,手把手解析双有源桥(DAB)变换器在扩展移相调制(EPS)下的全流程建模。内容涵盖从核心原理、主功率电路搭建、EPS驱动信号生成,到仿真运行、波形分析及模型优化的完整步骤,旨在帮助工程师和研究者快速掌握DAB变换器的仿真与性能验证方法。

o4p5q6r7s的博客 505

POJ - 3169(最短路水题)

反思:这道题的思维量还可以,可以算作一道好题吧。剖析一下模型,发现是一道最短路的题。难点可能在构图。构图的时候要注意以下几点: 1.由于后面的点的位置一定要大于等于前面的,所以我加了n-1条路径,这些路径的值都是0,是由i指向i-1的,这样在求最短路的时候,所有dis[i-1]大于dis[i]的情况都会被这些边松弛为dis[i-1]=dis[i],解决了这方面的问题。 2.什么时候就表示1不能...

Ema1997的博客 565

Abaqus 2023 保姆级安装避坑指南:从环境变量到许可证配置,一次搞定

本文提供Abaqus 2023的详细安装指南,涵盖环境变量设置、许可证配置等关键步骤,帮助用户避开常见安装陷阱。通过系统环境检查、目录结构规划、许可证服务器安装及Java环境配置等实用技巧,确保顺利完成安装并优化软件性能。

weixin_42524276的博客 426

利用Ghidra与SVD插件实现STM32固件深度逆向分析

本文详细介绍了如何利用Ghidra逆向工程框架结合SVD插件,实现对STM32固件(.bin文件)的深度逆向分析。通过加载描述芯片外设寄存器的SVD文件,Ghidra能将晦涩的硬件地址操作转换为可读的寄存器符号,极大提升了对嵌入式固件中通信协议、安全校验等关键逻辑的分析效率。文章涵盖了从Java环境搭建、工具配置到实战逆向解析的完整流程。

peach的博客 945

poj3169(差分约束系统)

题目 网址:http://poj.org/problem?id=3169 大概题意:有N个点,其中有ml个限制条件:点a,点b,的最长距离为d,有md个限制条件,点a,点b,的最短距离为d;点按序号顺序排,求第一个点到最后一个点的最长距离。 解题思路:差分约束,其实我也不太清楚什么是差分约束,大概就是将各种限制条件,逐个加入,先假设N个点间的距离都为无穷大,然后,按下列顺序,(循环)N(N,ml,m

桀骜不逊 698

MCAL配置之CAN模块及源码分析

该文章详细解析了Autosar中MCAL配置里的CAN模块,详细分析了重要的配置选项,并对CAN的发送和接收函数进行了剖析。

u013624141的博客 1423

POJ3169(差分约束)

题意:有N头牛,这些牛都拥有一个属性x表示其在坐标轴上的坐标。现在给定ML组约束条件表示A、B两头牛坐标之差不能够超过C;MD组约束条件表示A、B两头牛坐标之差不能小于C,现在问1和N号牛之间最长的距离为多大,如果存在则输出最大长度,如果任意输出-2,如果已知条件存在矛盾输出-1。 拿样例来分析 4 2 1 1 3 10 2 4 20 2 3 3S3 - S1 <= 10 ...

weixin_34128534的博客 195

RocketMq面板访问异常 com.alibaba.fastjson.JSONException: not close json text, token : string

rocketmq JSONException: not close json text, token : string 问题解决

qq_21067307的博客 5575

matlab/simulink saw谐振器仿真,基于Matlab的SAW模态耦合模型的仿真研究

第32卷 第 4 期Vol. 32 No. 4重 庆 理 工 大 学 学 报 (自然科学)Journal of Chongqing University of Technology( Natural Science)2 0 1 8年 4 月Apr. 2018doi : 10.3969/j . issn. 1674-8425(z). 2018.04.002本文引用格式 :李志鹏,马龙祥,孟旭,等•基...

weixin_36192634的博客 1386

POJ 3169 Layout (差分约束系统)

任重而道远题目大意:大概题意:有N个点,其中有ml个限制条件:点a,点b,的最长距离为d,有md个限制条件,点a,点b,的最短距离为d;点按序号顺序排,求第一个点到最后一个点的最长距离。DescriptionLike everyone else, cows like to stand close to their friends when queuing for feed. FJ has N (2...

TRS_07170的博客 202

Python 爬虫进阶:爬取 APP 数据(Charles 抓包 + Requests)

本文详细介绍了APP数据爬取的完整技术方案。首先通过Charles抓包工具配置HTTPS代理和证书,解析APP通信协议;然后分析请求参数、反爬机制和动态签名生成规则;接着使用Python的Requests库实现模拟请求、分页爬取和数据存储;最后针对证书问题、Token失效等常见问题提供解决方案。文章强调抓包分析、参数逆向和请求模拟三大核心技术,同时提醒开发者需遵守法律法规,合理控制爬取频率。该方案适用于移动端数据采集场景,为无法直接获取网页数据的情况提供了有效解决方案。

2503_91057718的博客 2121

POJ 3169 Layout (差分约束系统)

题目地址:POJ 3169 很简单的差分约束。。公式很明显。当输入最大值的时候,是a-b=c。然后根据这个式子用最短路求。 代码如下: #include #include #include #include #include #include #include #include #include #include #include using namespace st

scf0920 1205

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

POJ 3169(差分约束系统+SPFA判断负环)

POJ 3169 (1)题意: 有n头奶牛,有ML对奶牛相互喜欢,它们之间的距离不得超过x, 有MD对奶牛相互讨厌,它们之间的距离不得小于x。 询问是否有一种方案将所有奶牛(从1到n)排队,允许距离相同的奶牛在同一个位置。 如果存在这种排队方案,输出这个方案的最长距离; 如果不存在这种排队方案,-2; 如果存在方案但是距离为INF,输出-1. (2)思路: A,B相互...

积少成多,水滴石穿 284

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

POJ 3169 Layout(差分约束系统)

POJ 3169 Layout(差分约束系统) http://poj.org/problem?id=3169 题意: 当排队等候喂食时,奶牛喜欢和它们的朋友站得靠近些。FJ有N(2 一些奶牛相互间存有好感,它们希望两者之间的距离不超过一个给定的数L。另一方面,一些奶牛相互间非常反感,它们希望两者间的距离不小于一个给定的数D。给出ML条关于两头奶牛间有好感的描述,再给出MD条关于两头奶牛间存

code 874

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

POJ3169 差分约束系统

http://poj.org/problem?id=3169 题意: n头牛初始排列1~n, 现在给出几个限制条件,ML个条件A,B,C表示编号为A,B的奶牛的最远距离只能是C。 MD个条件A,B,C表示A,B奶牛最近距离为C,求出编号为1与编号为n的奶牛的最远距离 如果无法满足约束条件输出−1-1−1,最远距离如果可以无限远输出−2-2−2 思路: 看到有约束条件的题基本可以想到用差分约束系统求...

WayJasy的博客 228

poj3169 差分约束系统

题意: 从1到n,n个数,从左向右一次排列。给定两种形式的约束条件: 1.xix_i与yiy_i的最大距离为dkd_k 2.xix_i与yiy_i的最小距离为dkd_k 问满足这些限定条件的情况下,数1和n的最大距离是多少?(若约束条件相互矛盾则输出-1,若最大距离可以为无穷大则输出-2)知识补充:差分约束系统的概念:由n个变量和m个约束条件(实数)组成,且都是形如:xi−yj≤bk(x,y为

JIBANCANYANG 947

POJ3169(差分约束系统)

题目差分约束系统: 对于一个不等式 a−b<=ca - b <= c,建立一条从b到a的权值为c的边,然后求最短路,得到最大值。 对于一个不等式 a−b>=ca - b >= c,建立一条从b到a的权值为c的边,然后求最长路,得到最小值。 如果有负环的话就无解。题解: 对于1-N的每一头牛都满足: a[i]−a[i+1]<=0a[i] - a[i+1] <= 0 对于关系好的牛来说:

开心铁匠铺 426

POJ3169 差分约束系统 解题报告

【问题描述】        如果一个系统由n个变量和m个约束条件组成,其中每个约束条件形如xj-xi≤bk(i,j∈[1,n],k∈[1,m]),则称其为差分约束系统。亦即,差分约束系统是求解关于一组变量的特殊不等式组的方法。    下面是关于差分约束系统一个实际问题的描述:    FJ有 n 头奶牛(编号从 1 到 n),沿一条直线站着等候喂食,由于奶牛们身材都比较苗条,

cqyz_holiday的博客 421

POJ 3169 Layout 差分约束系统

对于差分不等式,d(v)+w(v,u)>=d(u),那么有一条边从v到u权值为w,求的是最短路,得到的是最大值,对于d(v)+w(v,u),求的是最长路,得到的是最小值。 根据本题所给的条件有d[i]=d[i],即i+1到i有一条权值为0的边, 对于关系好的两头牛d[AL]+DL>=d[BL],即AL到BL有一条权值为DL的边, 对于关系不好的两头牛有d[AD]+DD=d[AD],即BD到A

FJUT_ACM_cjt152的博客 422

POJ 3169-Layout(差分约束系统)

题目地址:POJ 3169 题意:N头牛排队吃饭 排编号顺序排,大的永远在小的前面,但牛之间有的关系好,有的差,所以有的牛想离某些牛的距离最远不超过D 有的必须大于D 给出它们的关系 求第n头牛跟第一头的最远距离。 思路:很简单的查分约束,公式很好看出来。求最大值 约束条件转化为 =D2 把这个条件转化一下--> S小-S大 #include #include #include #in

Rocky0429 1843

POJ 3169 差分约束系统转换为最短路问题

小知识:差分约束的转化原理 差分约束系统的解法利用到了单源最短路径问题中的三角形不等式。即对于任何一条边u -> v,都有:d(v) 题意:编号为1到n的牛排队有些牛是比较友好的需要使他们的相隔的最大距离不能大于某个值还有一些牛需要使他们的最小距离大于某个值求1号牛到n号牛之间能够相隔的最大距离 1、构造差分约束系统: A,B距离不超过D则B-A 2、若有解

小菜鸟。。 302

poj3169 Layout 差分约束系统 SPFA算法

poj3169 Layout 差分约束系统 SPFA算法 http://poj.org/problem?id=3169 题意:有n头牛按序号升序拍成一列,有两个限制条件:①A牛和B牛的距离不得大于X,②C牛与D牛的距离不得小于Y。若不存在输出-1,有多种排列输出-2,反之输出1和n的距离。 题解:有方程组: A-B<=X; C-D>=Y; ... C-D>=y->D-C<=-y 那么对于每个不等式dis[i]-dis[j]<=x,变化为dis[i]<=dis[j]+x。很像最短路的更新条件dis[i]>di

ACZone 320

POJ 3169 图论 差分约束系统

题目链接:http://poj.org/problem?id=3169 题意: 一个牛舍里有按序号排列的N头牛(可以多头牛在统一位置),有一些牛的关系比较好,他们希望彼此不超过一定的距离。当然也有些牛关系不好,他们希望彼此超过一定的距离。 有ML对牛的关系比较好,并给出每对牛的所不超过的距离D;同样,有MD对牛的关系不好,并给出每对牛的所超过的距离D。 问是否有满足这样的安排方案满足所有牛的

spring_3_shine的博客 297
上一篇: POJ 1276 多重背包
下一篇: HDU 1269 强连通分量
MakingMaker
博客等级 码龄15年 6粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值