P6082 [JSOI2015] salesman

题目描述

某售货员小 T 要到若干城镇去推销商品,由于该地区是交通不便的山区,任意两个城镇之间都只有唯一的可能经过其它城镇的路线。 小 T 可以准确地估计出在每个城镇停留的净收益。这些净收益可能是负数,即推销商品的利润抵不上花费。由于交通不便,小 T 经过每个城镇都需要停留,在每个城镇的停留次数与在该地的净收益无关,因为很多费用不是计次收取的,而每个城镇对小 T 的商品需求也是相对固定的,停留一次后就饱和了。每个城镇为了强化治安,对外地人的最多停留次数有严格的规定。 请你帮小 T 设计一个收益最大的巡回方案,即从家乡出发,在经过的每个城镇停留,最后回到家乡的旅行方案。你的程序只需输出最大收益,以及最优方案是否唯一。方案并不包括路线的细节,方案相同的标准是选择经过并停留的城镇是否相同。因为取消巡回也是一种方案,因此最大收益不会是负数。小 T 在家乡净收益是零,因为在家乡是本地人,家乡对小 T 当然没有停留次数的限制。

输入格式

输出格式

说明/提示

#### 样例说明 最佳路线包括城镇 $1,2,4,5,9$。 --- #### 数据范围 对于 $100\%$ 的数据,$5\leq n\leq 10^5$。