题目描述
有一座城市,城市中有 个公交站,公交站之间通过 条道路连接,每条道路有相应的长度。保证所有公交站两两之间能够通过唯一的通路互相达到。
两个公交站之间路径长度定义为两个公交站之间路径上所有边的边权和。
现在要对城市进行规划,将其中 个公交站定为“重要的”。
现在想从中选出 个节点,使得这 个公交站两两之间路径长度总和最小。输出路径长度总和即可(节点编号从 开始)。
非淡泊无以明志,非宁静无以致远
对于一个整数序列 A=(a1,a2,…,ak),定义 A 的子序列为:从 A 中删除若干个元素后(允许不删,也允许将所有 k 个元素都删除),剩下的元素按照原来的顺序所组成的序列。如果这个子序列的元素从左到右严格递增,则称它为 A 的一个上升子序列。其中包含元素数量最多的上升子序列称为 A 的最长上升子序列。例如,(2,4,5,6) 和 (1,4,5,6) 都是 (2,1,1,4,7,5,6) 的最长上升子序列,长度都为 4。
那么,给定一个序列 A=(a1,a2,…,an), 求 A 的最长上升子序列的长度
第一行一个整数 n ,代表序列 A 的长度