城市规划

题目描述

有一座城市,城市中有 NN 个公交站,公交站之间通过 N1N-1 条道路连接,每条道路有相应的长度。保证所有公交站两两之间能够通过唯一的通路互相达到。
两个公交站之间路径长度定义为两个公交站之间路径上所有边的边权和。
现在要对城市进行规划,将其中 MM 个公交站定为“重要的”。
现在想从中选出 KK 个节点,使得这 KK 个公交站两两之间路径长度总和最小。输出路径长度总和即可(节点编号从 11 开始)。

阅读全文 »

石子合并

题目描述

将 堆石子绕圆形操场排放,现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该次合并的得分。

请编写一个程序,读入堆数 NN 及每堆的石子数,并进行如下计算:

  1. 选择一种合并石子的方案,使得做 N1N - 1 次合并得分总和最大。
  2. 阅读全文 »

云计算实验3

学号202000202092

实验目的

熟悉个人博客系统的搭建。
具体包括:
参考方案:注册Github账号,搭建Hexo环境并实现个人博客搭建,撰写实验报告。

阅读全文 »

超大背包

题目描述

有N件物品和一个容量为V的背包。第i件物品的重量是w[i],价值是c[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。

输入描述

第一行为N(1N40)(1≤N≤40),V(1V1015)(1≤V≤10^{15})

下面N行,第i行描述第i个物品的w[i](1w[i]1015)(1≤w[i]≤10^{15}),c[i](1c[i]1015)(1≤c[i]≤10^{15}),用一个空格分隔。

阅读全文 »

最长上升子序列

题目描述

对于一个整数序列 A=(a1,a2,,ak)A =(a_1, a_2,\ldots , a_k),定义 AA 的子序列为:从 AA 中删除若干个元素后(允许不删,也允许将所有 kk 个元素都删除),剩下的元素按照原来的顺序所组成的序列。如果这个子序列的元素从左到右严格递增,则称它为 AA 的一个上升子序列。其中包含元素数量最多的上升子序列称为 AA 的最长上升子序列。例如,(2,4,5,6)(2, 4, 5, 6)(1,4,5,6)(1, 4, 5, 6) 都是 (2,1,1,4,7,5,6)(2, 1, 1, 4, 7, 5, 6) 的最长上升子序列,长度都为 44

那么,给定一个序列 A=(a1,a2,,an)A =(a_1, a_2,\ldots , a_n), 求 AA 的最长上升子序列的长度

输入格式

第一行一个整数 nn ,代表序列 AA 的长度

阅读全文 »