CF1737D.Ela and the Wiring Wizard

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Ela needs to send a large package from machine 11 to machine nn through a network of machines. Currently, with the network condition, she complains that the network is too slow and the package can't arrive in time. Luckily, a Wiring Wizard offered her a helping hand.

The network can be represented as an undirected connected graph with nn nodes, each node representing a machine. mm wires are used to connect them. Wire ii is used to connect machines uiu_i and viv_i , and has a weight wiw_i . The aforementioned large package, if going through wire ii , will move from machine uiu_i to machine viv_i (or vice versa) in exactly wiw_i microseconds. The Wiring Wizard can use his spell an arbitrary number of times. For each spell, he will choose the wire of index ii , connecting machine uiu_i and viv_i , and rewire it following these steps:

  • Choose one machine that is connected by this wire. Without loss of generality, let's choose viv_i .
  • Choose a machine that is currently connecting to viv_i (including uiu_i ), call it tit_i . Disconnect the wire indexed ii from viv_i , then using it to connect uiu_i and tit_i .

The rewiring of wire ii will takes wiw_i microseconds, and the weight of the wire will not change after this operation. After a rewiring, a machine might have some wire connect it with itself. Also, the Wiring Wizard has warned Ela that rewiring might cause temporary disconnections between some machines, but Ela just ignores it anyway. Her mission is to send the large package from machine 11 to machine nn as fast as possible. Note that the Wizard can use his spell on a wire zero, one, or many times. To make sure the network works seamlessly while transferring the large package, once the package starts transferring from machine 11 , the Wiring Wizard cannot use his spell to move wires around anymore.

Ela wonders, with the help of the Wiring Wizard, what is the least amount of time needed to transfer the large package from machine 11 to nn .

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt ( 1t1001 \le t \le 100 ). The description of the test cases follows.

The first line contains nn and mm ( 2n5002 \le n \le 500 , n1m250000n - 1 \le m \le 250 000 ), the number of nodes and number of wires, respectively.

For the next mm lines, ii -th line will contains uiu_i , viv_i and wiw_i ( 1ui,vin1 \le u_i, v_i \le n , 1wi1091 \le w_i \le 10^9 ) - the indices 2 machines that are connected by the ii -th edge and the weight of it.

It is guaranteed that the sum of nn over all test cases does not exceed 500500 and the sum of mm over all test cases does not exceed 250000250 000 . The graph in each test case is guaranteed to be connected, no self-loops, but it can contain multiple edges.

输出格式

For each test case, output one integer denotes the least amount of time needed to transfer the large package from machine 11 to nn .

输入输出样例

  • 输入#1

    3
    8 9
    1 2 3
    6 4 5
    3 5 6
    6 1 3
    7 4 4
    3 8 4
    2 3 3
    7 8 5
    4 5 2
    4 5
    1 2 1
    2 4 1
    3 4 1
    3 1 1
    1 3 2
    8 8
    4 6 92
    7 1 65
    6 5 43
    6 7 96
    4 3 74
    4 8 54
    7 4 99
    2 5 22

    输出#1

    9
    2
    154

说明/提示

Here is the graph in the first test case in the sample input:

Ela can ask the Wiring Wizard to use his spell on wire with the index of 77 , which is connecting machines 22 and 33 . Then, since the machine 88 is connected to machine 33 , the Wiring Wizard can disconnect wire 77 from machine 33 and connect it to machine 88 in 33 microseconds (weight of wire 33 ).

After that, the package can be sent from machine 11 to machine 88 in 66 microseconds. Therefore, the answer is 3+6=93 + 6 = 9 microseconds.

Here is the graph in the third test case in the sample input:

首页