题目名称 2870. [NOIP 2017]宝藏
输入输出 2017treasure.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 21
题目来源 Gravatarcqw 于2017-11-13加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:68, 提交:334, 通过率:20.36%
Gravatarムラサメ 100 0.000 s 0.00 MiB C++
Gravatarムラサメ 100 0.000 s 0.00 MiB C++
GravatarBenjamin 100 0.000 s 0.00 MiB C++
Gravatarchangxv 100 0.013 s 0.32 MiB C++
GravatarHale 100 0.025 s 4.40 MiB C++
Gravatarrvalue 100 0.040 s 0.59 MiB C++
Gravatarliuyu 100 0.104 s 0.53 MiB C++
GravatarHzoi_Hugh 100 0.128 s 0.56 MiB C++
GravatarShallowDream雨梨 100 0.187 s 0.90 MiB C++
GravatarOstmbh 100 0.202 s 0.75 MiB C++
本题关联比赛
EYOI常规赛 1st
EYOI常规赛 1st
近5年noip/csp题目回顾
关于 宝藏 的近10条评论(全部评论)
这特么最后一个点是什么鬼!把我考试程序卡WA了。。
我一直以为自己的状压DP没任何毛病呢。。
感谢官方数据不杀之恩$Orz$
GravatarHallmeow
2017-12-05 10:52 7楼
回复 @_Itachi :
董必武您是我们的红太阳,没有您我们会死
UPD:辣鸡@_Itachi ,你拿去跑的明明是$O(n^3 3^n)$的,连这都看不出来,智熵狗带
GravatarAntiLeaf
2017-12-04 10:18 6楼
老年退役选手成功炸int...
以及D一下@AntiLeaf ,这个题明明可以n*3^n,你为什么要写n^2*3^n的?而且据说官测很强力,你的做法可能会常数狗带
UPD:我拿官测评了下,我的AC了,@AntiLeaf 的40,2333
Gravatar_Itachi
2017-12-02 11:58 5楼
回复 @Hzoi_moyi :
我不管,反正我dfsA了
GravatarTroywar
2017-11-27 14:54 4楼
雾草为啥我暴力和假的正解组起来的程序跑得快得一匹啊QAQ
Gravatarrvalue
2017-11-26 19:04 3楼
其实我挺好奇这个题搜索应该怎么A
GravatarHzoi_moyi
2017-11-19 19:43 2楼
GravatarAntiLeaf
2017-11-18 18:30 1楼

2870. [NOIP 2017]宝藏

★★★   输入文件:2017treasure.in   输出文件:2017treasure.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 $n$ 个深埋在地下的宝藏屋,也给出了这 $n$ 个宝藏屋之间可供开发的 $m$ 条道路和它们的长度。

小明决心亲自前往挖掘所有宝藏屋中的宝藏。但是,每个宝藏屋距离地面都很远,也就是说,从地面打通一条到某个宝藏屋的道路是很困难的,而开发宝藏屋之间的道路则相对容易很多。

小明的决心感动了考古挖掘的赞助商, 赞助商决定免费赞助他打通一条从地面到某个宝藏屋的通道,通往哪个宝藏屋则由小明来决定。

在此基础上, 小明还需要考虑如何开凿宝藏屋之间的道路。已经开凿出的道路可以任意通行不消耗代价。每开凿出一条新道路,小明就会与考古队一起挖掘出由该条道路所能到达的宝藏屋的宝藏。另外,小明不想开发无用道路,即两个已经被挖掘过的宝藏屋之间的道路无需再开发。

新开发一条道路的代价是:

这条道路的长度 × 从赞助商帮你打通的宝藏屋到这条道路起点的宝藏屋所经过的宝藏屋的数量(包括赞助商帮你打通的宝藏屋和这条道路起点的宝藏屋)。

请你编写程序为小明选定由赞助商打通的宝藏屋和之后开凿的道路,使得工程总代价最小,并输出这个最小值。 

【输入格式】

第一行两个用空格分离的正整数 $n$ 和 $m$,代表宝藏屋的个数和道路数。

接下来 $m$ 行,每行三个用空格分离的正整数,分别是由一条道路连接的两个宝藏屋的编号(编号为 $1$~$n$),和这条道路的长度 $v$。

【输出格式】

输出共一行,一个正整数,表示最小的总代价。 

【样例输入1】

4 5
1 2 1
1 3 3
1 4 1
2 3 4
3 4 1

【样例输出1】

4

【样例1提示】

小明选定让赞助商打通了 $1$ 号宝藏屋。小明开发了道路 $1\rightarrow 2$,挖掘了 $2$ 号宝藏。开发了道路 $1\rightarrow 4$,挖掘了 $4$ 号宝藏。还开发了道路 $4\rightarrow 3$,挖掘了 $3$ 号宝藏。工程总代价为: $$\begin{array}{c}1\times 1\\ \small{(1\rightarrow 2)}\end{array}\begin{array}{c}+\\ \ \end{array}\begin{array}{c}1\times 1\\ \small{(1\rightarrow 4)}\end{array}\begin{array}{c}+\\ \ \end{array}\begin{array}{c}1\times 2\\ \small{(4\rightarrow 3)}\end{array}\begin{array}{c}=4\\ \ \end{array}$$

【样例输入2】

4 5
1 2 1
1 3 3
1 4 1
2 3 4
3 4 2

【样例输出2】

5

【样例2提示】

小明选定让赞助商打通了 $1$ 号宝藏屋。小明开发了道路 $1\rightarrow 2$,挖掘了 $2$ 号宝藏。开发了道路 $1\rightarrow 3$,挖掘了 $3$ 号宝藏。还开发了道路 $1\rightarrow 4$,挖掘了 $4$ 号宝藏。工程总代价为: $$\begin{array}{c}1\times 1\\ \small{(1\rightarrow 2)}\end{array}\begin{array}{c}+\\ \ \end{array}\begin{array}{c}3\times 1\\ \small{(1\rightarrow 3)}\end{array}\begin{array}{c}+\\ \ \end{array}\begin{array}{c}1\times 1\\ \small{(1\rightarrow 4)}\end{array}\begin{array}{c}=5\\ \ \end{array}$$

【数据规模】

对于 20% 的数据:保证输入是一棵树,$1\le n\le 8$,$v\le 5000$ 且所有的 $v$ 都相等。

对于 40% 的数据:$1\le n\le 8$,$0\le m\le 1000$,$v\le 5000$ 且所有的 $v$ 都相等。

对于 70% 的数据:$1\le n\le 8$,$0\le m\le 1000$,$v\le 5000$

对于 100% 的数据:$1\le n\le 12$,$0\le m\le 1000$,$v\le 500000$