漫长的一天结束了,饥困交加的奶牛们准备返回牛棚。农场由 N 片牧场组成(2≤N≤50,000),方便起见编号为 1…
N。所有奶牛都要前往位于牧场 N 的牛棚。其他 N-1 片牧场中每片有一头奶牛。奶牛们可以通过 M 条无向的小路在牧场之间移动(1≤M≤100,000)。第 i 条小路连接牧场 ai 和 bi,通过需要时间 ti。每头奶牛都可以经过一些小路回到牛棚。由于饥饿,奶牛们很乐于在他们回家的路上停留一段时间觅食。农场里有 K 个有美味的干草捆,第 i 个干草捆的美味值为 yi。每头奶牛都想要在她回牛棚的路上在某一个干草捆处停留,但是她这样做仅当经过这个干草捆使她回牛棚的时间增加不超过这个干草捆的美味值。注意一头奶牛仅仅 “正式地” 在一个干草捆处因进食而停留,即使她的路径上经过其他放有干草捆的牧场;她会简单地无视其他的干草捆。
Input
第一行包含三个空格分隔的整数 N,M 和 K。
以下 M 行每行包含三个整数 ai,bi 和 ti,表示牧场 ai 和 bi 之间有一条需要 ti 时间通过的小路
(ai 不等于 bi,ti 为不超过 104 的正整数)。
以下 K 行,每行以两个整数描述了一个干草捆:该干草捆所在牧场的编号,以及它的美味值(一个不超过 10^9 的正整数)。
同一片牧场中可能会有多个干草捆。
Output
输出包含 N-1 行。
如果牧场 i 里的奶牛可以在回牛棚的路上前往某一个干草捆并且在此进食,则第 i 行为一个整数 1,否则为一个整数 0
在 Farmer John 最喜欢的节日里,他想要给他的朋友们赠送一些礼物。由于他并不擅长包装礼物,他想要获得他的奶牛们的帮助。你可能能够想到,奶牛们本身也不是很擅长包装礼物,而 Farmer John 即将得到这一教训。Farmer John 的 N 头奶牛(1≤N≤104)排成一行,方便起见依次编号为 1…N。奶牛 i 的包装礼物的技能水平为 si。她们的技能水平可能参差不齐,所以 FJ 决定把她的奶牛们分成小组。每一组可以包含任意不超过 K 头的连续的奶牛(1≤K≤103),并且一头奶牛不能属于多于一个小组。由于奶牛们会互相学习,这一组中每一头奶牛的技能水平会变成这一组中水平最高的奶牛的技能水平。请帮助 FJ 求出,在他合理地安排分组的情况下,可以达到的技能水平之和的最大值。
物流公司要把一批货物从码头 A 运到码头 B。由于货物量比较大,需要 n 天才能运完。货物运输过程中一般要转 停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种 因素的存在,有的时候某个码头会无法装卸货物。这时候就必须修改运输路线,让货物能够按时到达目的地。但是 修改路线是一件十分麻烦的事情,会带来额外的成本。因此物流公司希望能够订一个 n 天的运输计划,使得总成本 尽可能地小。