CMUTOJ
Dtruth
这个作者很懒,什么都没留下…
展开
-
算法导论作业 问题 A: algorithm-锯木棒
题目描述xiaok大佬最近再雇佣工人给他掰木棒。把一根长为L的木棒锯成两段,他需要支付给工人L元钱。xiaok大佬一开始只有长为L的一根木棒,他想把它锯成n段,每段长度分别为L1,L2,…,Ln,问xiaok大佬最少要付给工人多少钱?输入第一行两个整数n,L(1<n<103,n<L<109)第二行n个整数L1,L2,…,Ln(0<Li<L,且保证L1+L2+…+Ln=L)输出输出一个整数,表示最小花费样例输入3 218 5 8样例输出34思路:首先原创 2021-11-13 11:43:43 · 1807 阅读 · 0 评论 -
CMUTOJ 数据结构 问题 B: 哈夫曼树
题目描述哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和。输入输入有多组数据。每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过100,2<=n<=1000)。输出输出权值。样例输入22 835 11 30样例输出1062/*其实就是模拟霍夫曼树的建立,然后求WPL,与二叉树求深度问题一样,我们可以不用真正建立霍夫曼树,只要模拟霍夫曼树原创 2020-06-27 21:11:53 · 660 阅读 · 0 评论 -
CUMT数据结构:二叉排序树
题目描述输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历。输入输入第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。输出可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。每种遍历结果输出一行。每行最后一个数据之后有一个空格。样例输入1228 15421 10 5 39样例输出2228 158 1515 821 10 5 395 10 21 395 10 39 21原创 2020-06-27 21:04:13 · 409 阅读 · 0 评论