试对于任何指定的m和N,构造一棵存有N个关键码的m阶B树,使得在其中插入某个特定关键码之后,需要进行Ω(logmN)次分裂。
考查任何一棵高度为h的二叉树T,设其中深度为k的叶节点有nk个,0≤k≤h。
a)试证明:
b)以上不等式取等号的充要条件是什么?
A、n=h+m
B、h+m=2n
C、m=h-1
D、n=2h-1
试设计一个算法,利用T公司提供的m个补丁程序,将原软件修复成一个没有错误的软件,并使修复后的软件耗时最少.
算法设计:对于给定的n个错误和m个补丁程序,找到总耗时最少的软件修复方案.
数据输入:由文件input.txt提供输入数据.文件第1行有2个正整数n和m,n表示错误总数,m表示补丁总数(1≤n≤20,1≤m≤100).接下来m行给出了m个补丁的信息.每行包括一个正整数,表示运行补丁程序i所需时间以及2个长度为n的字符串,中间用个空格符隔开.在第1个字符串中,如果第k个字符bk为“+”,则表示第k个错误属于B1[i],若为“-”,则表示第k个错误属于B2[i],若为“0”,则第k个错误既不属于B1[i]也不属于B2[i],即软件中是否包含第k个错误并不影响补丁i的可用性.在第2个字符串中,如果第k个字符bk为“+”,则表示第k个错误属于F1[i],若为“-”,则表示第k个错误属于F2[i],若为“0”,则第k个错误既不属于F1[i]也不属于F2[i],即软件中是否包含第k个错误不会因使用补丁i而改变.
结果输出:将总耗时数输出到文件output.txt.如果问题无解,则输出0.
算法设计:对于给定的长、宽、高分别为m、np的长方体,计算最大子长方体的大小.
数据输入:文件input.txt提供输入数据,第1行是3个正整数m、n、p(1≤m,n,p≤50).在接下来的m×n行中每行p个正整数,表示小立方体中的数.
结果输出:将计算结果输出到文件output.txt文件的第1行中的数是计算出的最大子长方体的大小.
问题描述:假设有来自n个不同单位的代表参加一次国际会议.铄个单位的代表数分别为ri(i=1,2,...,n).会议餐厅共有m张餐桌,每张餐桌可容纳ci(i=1,2,...,m)个代表就餐.为了使代表们充分交流,希望从同一个单位来的代表不在同一个餐桌就餐.试设计一个算法,给出满足要求的代表就餐方案.
算法设计:对于给定的代表数和餐桌数以及餐桌容量,计算满足要求的代表就餐方案.
数据输入:由文件input.txt提供输入数据.文件第1行有2个正整数m和n,m表示餐桌数,n表示单位数(1≤m≤150,1≤n≤270).文件第2行有m个正整数,分别表示每个单位的代表数.文件第3行有n个正整数,分别表示每个餐桌的容量.
结果输出:将代表就餐方案输出到文件output.txt如果问题有解,在文件第1行输出1,否则输出0.接下来的m行给出每个单位代表的就餐桌号.如果有多个满足要求的方案,只要输出一个方案.
算法设计:对于给定的m个仓库和n个零售商店间运送货物的费用,计算最优运输方案和最差运输方案.
数据输入:由文件input.txt提供输入数据.文件的第1行有2个正整数m和小,分别表示仓库数和零售商店数.接下来的一行中有m个正整数ai(1≤i≤m),表示第i个仓库有ai个单位的货物.再接下来的一行中有n个正整数bj(1≤j≤n),表示第j个零售商店需要bj个单位的货物.接下来的m行,每行有n个整数,表示从第i个仓库运送每单位货物到第j个零售商店的费用cij.
结果输出:将计算的最少运输费用和最多运输费用输出到文件output.txt.