51nod1340 地铁环线】的更多相关文章

题解 [51nod1340]地铁环线 题面 解析 本文参考这篇博客 一开始看到只有120行就打算写一写, 结果一刚就是三个星期摆摆摆 本来是当查分约束入门学的. step 1 首先来考虑下如果已知总长度\(s\)如何判断是否合法. 显然差分约束 对于\(dis(x,y)>=w\) 这个式子等价于\(dis[x]+w<=dis[y]\), 即\(dis[y]+(-w)>=dis[x]\). 因此, 若\(x<y\),则\(y\)向\(x\)连一条边权为\(-w\)的边. 若\(x&g…
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1340 设x为环线的长度,要判断某个特定的x是否可行,不难将题目转为差分约束模型,用最短路求解,每个限制条件对应图中一条边,可行当且仅当图中没有负环. 如果x是整数,用最短路可以构造出整数解,因此现在需要对所有x同时判断,求出x的可行域,再求整数解个数. 由于边权是关于x的一次函数,且一次项系数绝对值<=1,可以用Bellman-Ford算法处理,此时一个点w到源点的距离…
经典题. 经典差分约束模型. 但是 显然这个总长是有上下界的. 直接二分总长,判断有没有负环 如果没有负环好办,有负环就不知道怎么偏了. 因为没有单调性! (如果所有没有单调性的函数图像,都知道往哪里走更优, 岂不是全都可以二分了 ) 但是本题特殊在于,至少还是个区间! 二分左右端点. 负环记录k*mid+b的k,根据k的正负就可以知道哪个方向可能有解. 任意一个负环都可以判断的. #include<bits/stdc++.h> #define reg register int #define…
题目 有一个地铁环线,环线中有N个站台,标号为0,1,2,...,N-1.这个环线是单行线,一共由N条有向边构成,即从0到1,1到2,..k到k+1,...,N-2到N-1,N-1到0各有一条边.定义两站之间的距离,站a与站b间的距离dis(a,b)指从a站出发沿着单行线的边走到达b时所经过的全部长度,即dis(a,b)=dis(a,a+1)+dis(a+1,a+2)+..+dis(k,k+1 mod N)..+dis(b-1,b).提示一下,a>b时路径为a->a+1->...N-1-…
不难看出这是一道差分约束的题目. 但是如果想按照通常的题目那样去建边的话,就会发现这句话--相邻两站的距离至少是1公里--建边后就直接让整个题出现了负环(默认是按求最短路建边),没法做了. 这时我们就需要使用断环为链的技巧. 可以设\(len\)为地铁环线总长 那么就需要把\(a→b(a>b)\)的限制条件转换为\(b→a\)的限制条件,比如\(dis(a,b)\leq k\)转换为\(dis(b,a)\geq len-k\).总算能连边建图惹 如果现在要判断是否有解,那方法肯定是\(spfa\…
今天头非常疼,躲在家里没去机房 反正都要颓废了,然后花了一上午研究了一下这道神题怎么做-- 题解 首先我们发现,如果我们设\(dis[i]\)为从\(0\)节点走到\(i\)节点的距离 那么题目中给出的所有关系都变成了\(n\)个变量中两两的大小关系式 这像什么,差分约束哇(听说这是noip知识点?可我noip的时候根本没听过哇qwq) 可是在列关系式的时候,你发现对于\(a -> b\)当(b < a)的时候,我们还需要一个值,就是环的总长,正好是我们需要统计的东西-- 我们先看看关系式怎么…
[UR #2]跳蚤公路 参照yjc方法.也就是地铁环线那个题. 求每个点不在负环内的x的取值范围.然后所有1到j能到i的j的范围取交.得到答案. 每个边形如kx+b的直线,每个环也是 每个点不在负环内的x取值范围是区间, 两次二分, 第一次二分区间左端点,第二次右端点. 如果没有负环,左端点往左偏,右端点往右偏 否则,记录负环的构成:k*mid+b的k的正负,可以得到mid应该往哪里偏. 注意SPFA找负环: 记录has[x]表示到x的最短路已经经过了多少个点, dis[x]最短路,fr[x]是…
题目描述 小 Y 是一个爱好旅行的 OIer.一天,她来到了一个新的城市.由于不熟悉那里的交通系统,她选择了坐地铁. 她发现每条地铁线路可以看成平面上的一条曲线,不同线路的交点处一定会设有 换乘站 .通过调查得知,没有线路是环线,也没有线路与自身相交.任意两条不同的线路只会在若干个点上相交,没有重合的部分,且没有三线共点的情况.即,如图所示的情况都是不存在的:…
题目描述 小 Y 是一个爱好旅行的 OIer.一天,她来到了一个新的城市.由于不熟悉那里的交通系统,她选择了坐地铁. 她发现每条地铁线路可以看成平面上的一条曲线,不同线路的交点处一定会设有 换乘站 .通过调查得知,没有线路是环线,也没有线路与自身相交.任意两条不同的线路只会在若干个点上相交,没有重合的部分,且没有三线共点的情况.即,如图所示的情况都是不存在的: 小 Y 坐着地铁 0 号线,路上依次经过了 n 个换乘站.她记下了每个换乘站可以换乘的线路编号,发现每条线路与她所乘坐的线路最多只有 2…
PS:自己写的,自测试OK,供大家参考. /* 高级题样题:地铁换乘描述:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的.经过的站点名分别如下,两条线交叉的换乘点用T1.T2表示.编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起点和终点,换乘站点只计算一次).地铁线A(环线)经过车站:A1 A2 A3 A4 A5 A6 A7 A8 A9 T1 A10 A11 A12 A13 T2 A14 A15 A16 A17 A18地铁线B(直线)经过车站:B1…
图已挂,前往luogu 题目: 小 $\rm Y$ 是一个爱好旅行的 $\rm OIer$.一天,她来到了一个新的城市.由于不熟悉那里的交通系统,她选择了坐地铁.她发现每条地铁线路可以看成平面上的一条曲线,不同线路的交点处一定会设有换乘站.通过调查得知,没有线路是环线,也没有线路与自身相交.任意两条不同的线路只会在若干个点上相交,没有重合的部分,且没有三线共点的情况.即,如图所示的情况都是不存在的: 小 $\rm Y$ 坐着地铁 $0$ 号线,路上依次经过了 $n$ 个换乘站.她记下了每个换乘站…
[LOJ#2323]「清华集训 2017」小Y和地铁 试题描述 小Y是一个爱好旅行的OIer.一天,她来到了一个新的城市.由于不熟悉那里的交通系统,她选择了坐地铁. 她发现每条地铁线路可以看成平面上的一条曲线,不同线路的交点处一定会设有换乘站.通过调查得知,没有线路是环线,也没有线路与自身相交.任意两条不同的线路只会在若干个点上相交,没有重合的部分,且没有三线共点的情况.即,如图所示的情况都是不存在的: 小Y坐着地铁 \(0\) 号线,路上依次经过了 \(n\) 个换乘站.她记下了每个换乘站可以…
基于ionic+angulajs的混合开发实现地铁APP 注:本博文为博主原创,转载时请注明出处. 项目源码地址:https://github.com/zhangxy1035/SubwayMap 一.项目简介 在该项目中的地铁app是基于ionic+angularjs开发的一款软件,其中使用了高德地图的开放接口(地铁JS API)网址为:http://lbs.amap.com/api/subway-api/subway-summary/.在该app中主要实现了,地铁线路图的整体展示,起点终点设置…
Python地铁的到站流程及原理(个人理解) 今天坐地铁看着站牌就莫名的想如果用Python写其工作原理 是不是很简单就小试牛刀了下大佬们勿喷纯属小弟个人理解 首先来看看地铁上显示的站牌如下: 就想这首先站点固定的名称固定的站点名称长度可知道,这不是符合列表嘛[第一站,第二站,...,最后一站] 把这写站名放入列表中一个for循环自动帮你取每个站名 你可以加入time.sleep来设置每个站的之间的时间, 过长江隧道的时间可以单独加个if判断站名改变默认时间就行,这里还可以通过站名判断是否需要转…
P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交  讨论  题解 最新讨论 求教:为什么只有40分 数组大小一定要开够啊... 如果强制在线会怎么样 请问为什么第二段铁路变化后- 话说这题和初赛的最后一个大- 题目背景 本题开O2优化,请注意常数 题目描述 博艾市除了有海底高铁连接中国大陆.台湾与日本,市区里也有很成熟的轨道交通系统.我们可以认为博艾地铁系统是一个无向连通图.博艾有N个地铁站,同时有M小段地铁连接两…
实习时间:2016/02/23——2016/02/26 实习地点:京港地铁14号线 实习报告: 大学四年过得真快,转眼就大三了,大学前两年半的生活可谓多姿多彩,从不懂计算机到对编程感兴趣,期待得最多的就是考试能有个好成绩!在java课上也编出来了一个小游戏 算是个不小的收货,这次寒假老师留了个假期实践作业,我认为实践 主要是为了增长我们的社会知识 ,锻炼我们的能力,为我们以后走上社会打基础,这次假期本来打算和同学一起去奶茶店打工,中途还去办了健康证,但是由于奶茶店装修延误了,所以没去成,但是 塞…
我们组比较特殊..三人结对 github:https://github.com/qingchanghan/WPFUI_Metro po一张照片: 石浩然,韩青长.陈彦吉 (台式机真的很高端,分屏贼帅) 1.结对编程的优点和缺点: 优点: 随时沟通交流,当遇到复杂的代码逻辑时,两个人比一个人能更好地理清代码思路. 一个人乱了另一个人不会乱,或者很难出现两个人一起乱,正确率整体.代码质量很高. 可以实现编程接力,在确定好todo项目后,可以交接工作,续航时间更长.一节更比六节长. 在心理上相互鼓励相…
传送门:地铁 思路:拆点,最短路:拆点比较复杂,所以对边进行最短路,spfa会tle,所以改用Dijkstra(优先队列优化) 模板 /************************************************************** Problem: User: youmi Language: C++ Result: Accepted Time: Memory: *****************************************************…
1808: 地铁 Description Bobo 居住在大城市 ICPCCamp. ICPCCamp 有 n 个地铁站,用 1,2,…,n 编号. m 段双向的地铁线路连接 n 个地铁站,其中第 i 段地铁属于 ci 号线,位于站 ai,bi 之间,往返均需要花费 ti 分钟(即从 ai 到 bi 需要 ti 分钟,从 bi 到 ai 也需要 ti 分钟). 众所周知,换乘线路很麻烦.如果乘坐第 i 段地铁来到地铁站 s,又乘坐第 j 段地铁离开地铁站 s,那么需要额外花费 |ci-cj |…
ICPCCamp 有 n 个地铁站,用 1,2,-,n 编号. m 段双向的地铁线路连接 n 个地铁站,其中第 i 段地铁属于 ci 号线,位于站 ai,bi 之间,往返均需要花费 ti 分钟(即从 ai 到 bi 需要 ti 分钟,从 bi 到 ai 也需要 ti 分钟). 众所周知,换乘线路很麻烦.如果乘坐第 i 段地铁来到地铁站 s,又乘坐第 j 段地铁离开地铁站 s,那么需要额外花费 |ci-cj | 分钟.注意,换乘只能在地铁站内进行. Bobo 想知道从地铁站 1 到地铁站 n 所需…