排队(差分约束)题解
来源:互联网 发布:基地淘宝城 编辑:程序博客网 时间:2024/04/29 07:58
【问题描述】
Czy喜欢将他的妹子们排成一队。假设他拥有N只妹纸,编号为1至N。Czy让他们站成一行,等待自己来派送营养餐。这些妹纸按照编号大小排列,并且由于它们都很想早点吃饭,于是就很可能出现多只妹纸挤在同一位置的情况(也就是说,如果我们认为妹纸位于数轴上,那么多只妹纸的位置坐标可能相同)。
因为众所周知的原因,某些妹纸之间互相喜欢,他们希望互相之间的距离至多为一个定值。但某些妹纸之间互相厌恶,他们希望互相之间的距离至少为一个定值。现在给定ML个互相喜爱的妹纸对以及他们之间距离的最大值,MD个互相厌恶的妹纸对以及他们之间距离的最小值。
你的任务是计算在满足以上条件的前提下,帮助Czy计算出编号为1和编号为N的妹纸之间距离的最大可能值。
【输入】
输入文件为 layout.in。
第一行有 3 个整数,每两个整数之间用一个空格隔开,依次表示 n,ML和DL ;
此后ML行,每行包含三个用空格分开的整数A,B和D,其中A,B满足1<=A<=B<=N。表示编号为A和B的妹纸之间的距离至多为D。
此后MD行,每行包含三个用空格分开的整数A,B和D,其中A,B满足1<=A<=B<=N。表示编号为A和B的妹纸之间的距离至少为D。
【输出】
输出文件名为 layout.out。
输出文件仅包含一个整数。如果不存在任何合法的排队方式,就输出-1。如果编号1和编号N的妹纸间距离可以任意,就输出-2 。否则输出他们之间的最大可能距离。
【输入输出样例】
layout.in
layout.out
4 2 1
1 3 10
2 4 20
2 3 3
27
【数据范围】
对于40%的数据,N<=100;
对于100%的数据,N<=1000;ML,MN<=10000;D<=1000000。
【题解】
1、思想:题目要求满足一系列不等关系,很明显用差分约束。
2、具体:(1)我们用dis数组来表示每个点在坐标的位置,一开始设dis[1]=0,则dis[n]为1号点到n号点的距离(即n点的坐标)。
(2)又因为求dis[n]最大值,于是我们选择用最短路。
【代码】
暂无
- 排队(差分约束)题解
- 笨笨种西瓜(差分约束)题解
- poj 3169 差分约束(奶牛排队)
- wikioi 1242 布局(奶牛排队) 差分约束
- [BZOJ1731][Usaco2005 dec]Layout 排队布局(差分约束)
- 【bzoj1731】【排队布局】【差分约束】
- Layout POJ - 3169(差分约束) 题解
- POJ 3159 差分约束系统 题解
- poj 2983 差分约束系统 题解
- 【差分约束系统】POJ3159[Candies]题解
- BZOJ2330[SCOI2011] 糖果 题解【差分约束】
- HDU1384 Intervals 题解 【差分约束】
- 【差分约束系统】POJ1201[Intervals]题解
- HDU1531 King 题解 【差分约束】【SPFA】
- bzoj1731 [Usaco2005 dec]Layout 排队布局(差分约束+spfa)
- 【bzoj1731】[Usaco2005 dec]Layout 排队布局 差分约束
- BZOJ1731: [Usaco2005 dec]Layout 排队布局 差分约束 spfa
- BZOJ 1731: [Usaco2005 dec]Layout 排队布局 差分约束
- springmvc入门 hello,world
- log4j-usage.html
- HTML <h1>到<h6>标签
- iOS如何正确清空数组
- 新版超简单的PDF阅读器
- 排队(差分约束)题解
- Python入门:自定义类中的方法被调用的时候,什么情况下需要传入self,什么时候不需要
- 浅谈 C/S 和 B/S 架构
- HDU 5833 高斯消元
- 125.[LeetCode]Valid Palindrome
- 奇异值分解及几何意义
- poj1050-To the Max-最大子矩阵-dp
- java中数据类型转换
- OC中的KVC和KVO