1014 - 动态维护最小生成树 - Maintain(IOI 2003)

Maintain

描述

农夫约翰的奶牛们希望能够在农场的N(1<=N<=200)块田地中自由的旅游,尽管这些田地被树林分开了。他们希望能够通过维护一对对田地间的路径使得任意两块田地间都有通路。奶牛们可以沿着任一方向的维护的路径旅游。

奶牛们并不建立路径,取而代之,他们维护他们所发现的野生动物建立的路径,任意一周,他们可以选择维护任意的一个或所有的他们所知道的野生动物建立的路径。

令人惊奇的是,奶牛们在每周周初总会发现一条新的野生动物建立的路径。在这之后,他们必须在当周决定需要维护的那套路径使得任意两块田地间都有通路。奶牛们只能维护目前所使用的路径。    奶牛们总是希望减少他们必须维护的路径的总长度。他们可以维护任意的子集,这个子集是他们已知的野生动物的路径,这些路径必须是他们上周维护的或是本周发现的。    野生动物的路径不是直的。连接两点可能有多条路径,他们可能有不同的长度。两条路径可能相交,但奶牛们很牛,除非他们在一块田地里,他们拒绝改变路线。

输入

输入的第一行给出两个正整数N和W,两个数之间用空格分开,W是程序应运行的星期数(1 <= W <= 200)。

对于每个星期,读入一行,这一行包含着当周被发现的野生动物建立的路径,每一行包含着用空格分开的三个整数,路径的两个端点(田地的号码)和该路径的长度(1到10000的整数)。没有任何路径是以某地发出并以该地结束的。

输出

在你的程序了解一条新的野生动物路径后,你需要输出一个数,这个数是奶牛们需要维护的满足题目要求的路径的总长度的最小值。如果没有一套路径能使得

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值