CF786B Legacy

    • 284通过
    • 891提交
  • 题目来源 CodeForces 786B
  • 评测方式 RemoteJudge
  • 标签 图的建立,建图 最短路 线段树
  • 难度 省选/NOI-
  • 时空限制 2000ms / 256MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 体验新版界面

    最新讨论 显示

    推荐的相关题目 显示

    题意翻译

    Rick和他的同事们做出了一种新的带放射性的婴儿食品(???根据图片和原文的确如此...),与此同时很多坏人正追赶着他们。因此Rick想在坏人们捉到他之前把他的遗产留给Morty。

    在宇宙中一共有n个星球标号为1到n。Rick现在身处于标号为s的星球(地球)但是他不知道Morty在哪里。众所周知,Rick有一个传送枪,他用这把枪可以制造出一个从他所在的星球通往其他星球(也包括自己所在的星球)的单行道路。但是由于他还在用免费版,因此这把枪的使用是有限制的。

    默认情况下他不能用这把枪开启任何传送门。在网络上有q个售卖这些传送枪的使用方案。每一次你想要实施这个方案时你都可以购买它,但是每次购买后只能使用一次。每个方案的购买次数都是无限的。

    网络上一共有三种方案可供购买: 1.开启一扇从星球v到星球u的传送门; 2.开启一扇从星球v到标号在[l,r]区间范围内任何一个星球的传送门。(即这扇传送门可以从一个星球出发通往多个星球) 3.开启一扇从标号在[l,r]区间范围内任何一个星球到星球v的传送门。(即这扇传送门可以从多个星球出发到达同一个星球)

    Rick并不知道Morty在哪儿,但是Unity将要通知他Morty的具体位置,并且他想要赶快找到通往所有星球的道路各一条并立刻出发。因此对于每一个星球(包括地球本身)他想要知道从地球到那个星球所需的最小钱数。

    输入数据: 输入数据的第一行包括3个整数n,q和s(1<=n,q<=10^5,1<=s<=n)分别表示星球的数目,可供购买的方案数目以及地球的标号。

    接下来的q行表示q种方案。 1.输入1 v u w表示第一种方案,其中v,u意思同上,w表示此方案价格。 2.输入2 v l r w表示第二种方案,其中v,l,r意思同上,w表示此方案价格。 2.输入3 v l r w表示第三种方案,其中v,l,r意思同上,w表示此方案价格。 (1<=v,u,l,r<=n,1<=w<=10^9)

    输出格式: 输出一行用空格隔开的n个整数分别表示从地球到第i个星球所需的最小钱数。

    说明: 在第一组测试样例里,Rick可以先购买第4个方案再购买第2个方案从而到达标号为2的星球.

    感谢@radish布団 提供的翻译

    题目描述

    Rick and his co-workers have made a new radioactive formula and a lot of bad guys are after them. So Rick wants to give his legacy to Morty before bad guys catch them.

    There are $ n $ planets in their universe numbered from $ 1 $ to $ n $ . Rick is in planet number $ s $ (the earth) and he doesn't know where Morty is. As we all know, Rick owns a portal gun. With this gun he can open one-way portal from a planet he is in to any other planet (including that planet). But there are limits on this gun because he's still using its free trial.

    By default he can not open any portal by this gun. There are $ q $ plans in the website that sells these guns. Every time you purchase a plan you can only use it once but you can purchase it again if you want to use it more.

    Plans on the website have three types:

    1. With a plan of this type you can open a portal from planet $ v $ to planet $ u $ .
    2. With a plan of this type you can open a portal from planet $ v $ to any planet with index in range $ [l,r] $ .
    3. With a plan of this type you can open a portal from any planet with index in range $ [l,r] $ to planet $ v $ .

    Rick doesn't known where Morty is, but Unity is going to inform him and he wants to be prepared for when he finds and start his journey immediately. So for each planet (including earth itself) he wants to know the minimum amount of money he needs to get from earth to that planet.

    输入输出格式

    输入格式:

    The first line of input contains three integers $ n $ , $ q $ and $ s $ ( $ 1<=n,q<=10^{5} $ , $ 1<=s<=n $ ) — number of planets, number of plans and index of earth respectively.

    The next $ q $ lines contain the plans. Each line starts with a number $ t $ , type of that plan ( $ 1<=t<=3 $ ). If $ t=1 $ then it is followed by three integers $ v $ , $ u $ and $ w $ where $ w $ is the cost of that plan ( $ 1<=v,u<=n $ , $ 1<=w<=10^{9} $ ). Otherwise it is followed by four integers $ v $ , $ l $ , $ r $ and $ w $ where $ w $ is the cost of that plan ( $ 1<=v<=n $ , $ 1<=l<=r<=n $ , $ 1<=w<=10^{9} $ ).

    输出格式:

    In the first and only line of output print $ n $ integers separated by spaces. $ i $ -th of them should be minimum money to get from earth to $ i $ -th planet, or $ -1 $ if it's impossible to get to that planet.

    输入输出样例

    输入样例#1: 复制
    3 5 1
    2 3 2 3 17
    2 3 2 2 16
    2 2 2 3 3
    3 3 1 1 12
    1 3 3 17
    
    输出样例#1: 复制
    0 28 12 
    
    输入样例#2: 复制
    4 3 1
    3 4 1 3 12
    2 2 3 4 10
    1 2 4 16
    
    输出样例#2: 复制
    0 -1 -1 12 
    

    说明

    In the first sample testcase, Rick can purchase $ 4 $ th plan once and then $ 2 $ nd plan in order to get to get to planet number $ 2 $ .

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。