【发布时间】:2016-08-25 05:27:26
【问题描述】:
这是我遇到的一个非常有趣的问题:有一个有向树,其中每个节点的权重随时间变化,我必须找到从根到某个节点的距离。
问题陈述:
- 售票柜台前排起了长队。这是队列 考虑因素。
- 最多可以有 2 个传入队列在一个交汇点合并
- 从任何交汇点只能有一个传出队列
- 可以有多个交汇点和队列移动 单向
- 将只有一个最终售票柜台点,所有的 排队领队
- 有多个入口点供粉丝到达 计数器
- 我需要设计一个可以向粉丝推荐的系统 “最佳路径”及其到达柜台的“预期时间”
从一个队列到达柜台的预期时间取决于该队列中的人数加上其他队列中的人数。
- 穿过售票柜台并收到票的时间为 1 时间单位
- 假设每个路口都有一名警察 谁的工作是打开路口的大门,把人从 in-queue(s) 到 out-queue 。如果有多个队列 路口,警察会从每个队列中一一送粉丝 或者
例如,如果有 2 个队列,每个队列包含 3 个粉丝,则队列 1 的领头人将首先被发送,然后是队列 2 的领头人,然后是队列 1 的下一个人,依此类推。这是传入队列之间的替代选择。
对于给定的输入
- 第一行包含交汇点的数量
- 第二行包含队列数
- 接下来的“e”行包含三个值:开始连接点、结束点 路口和此队列中的人数。 (这也是此队列中可以站立的最大人数。)
计算一个人到达即将进入任何队列的售票柜台的最短时间。另外,输出在最坏情况下他应该在最短的时间内到达柜台的路径(在每个交汇点,警察开始从队列中选择人,而不是我们正在计算的人的最短时间)。
如何解决这类时变问题?
例如:
7
6
1 5 9
2 5 5
3 6 1
4 6 3
5 7 7
6 7 4
售票点:7
入口点:1、2、3、4
- 刚从入口进入队列所需的时间
第3点:队列中的1人(3,6)+队列中的2人(4,6)+ 4
队列中的人(6,7)+队列中的 7 人(5,7)+ 队列中的 1 人
queue(1,5) 会先于这个人。
最佳时间 = 15
路径是 3 -> 6 -> 7
【问题讨论】:
-
点击链接要求我登录 HackerEarth。您能否提供一些证据证明这不是当前编程竞赛的一部分,人们无需在那里注册即可验证? (例如截图)
-
@j_random_hacker 我有一个帐户,刚刚检查过。它说“挑战结束,这个问题已经转移到练习区。你可以在这里提交你的解决方案或去练习区。另外提交不会影响排行榜。”
-
只是想。有什么理由不能简单地获取最短路径吗?
-
感谢@mk。
-
有趣的是,我想相反是一个更好的组织。一个入口(排队)和几个出口(售票处)。
标签: algorithm graph tree shortest-path