![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
问题描述:给定2个长度分别为n和m的序列x[0...n-1]和y[0...m-1],以及一个长度为p的约束字符串S[
算法设计:设计一个算法,找出给定序列x和y的包含s为其子串的最长公共子序列.
数据输入:由文件input.txt提供输入数据.文件的第1行中给出正整数,分别表示给定序列x、y和约束字符串s的长度.接下来的3行分别给出序列x、y和约束字符串s.
结果输出:将计算出的x和y的包含s为其子串的最长公共子序列的长度输出到文件output.txt中.
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
算法设计:设计一个算法,找出给定序列x和y的包含s为其子串的最长公共子序列.
数据输入:由文件input.txt提供输入数据.文件的第1行中给出正整数,分别表示给定序列x、y和约束字符串s的长度.接下来的3行分别给出序列x、y和约束字符串s.
结果输出:将计算出的x和y的包含s为其子串的最长公共子序列的长度输出到文件output.txt中.
算法设计:给定n个整数组成的序列,计算该序列的最优m段分割,使m段子序列的和的最大值达到最小.
数据输入:由文件input.txt提供输入数据.文件的第1行中有2个正整数n和m.正整数n是序列的长度:正整数m是分割的段数.接下来的一行中有n个整数.
结果输出:将计算结果输出到文件output.txt.文件的第1行中的数是计算出的m段子序列的和的最大值的最小值.
问题描述:给定一个赋权无向图G=(V,E),每个顶点都有权值w(v).如果
,且对任意(u,V)∈E有u∈U或v∈U,就称U为图G的一个顶点覆盖.G的最小权顶点覆盖是指G中所含顶点权之和最小的顶点覆盖.
算法设计:对于给定的无向图G,设计一个优先队列式分支限界法,计算G的最小权顶点覆盖.
数据输入:由文件input.txt给出输入数据.第1行有2个正整数n和m,表示给定的图G有n个顶点和m条边,顶点编号为1,2,...,n.第2行有n个正整数表示n个顶点的权.接下来的m行中,每行有2个正整数u和v,表示图G的一条边(u,v).
结果输出:将计算的最小权顶点覆盖的顶点权值和以及最优解输出到文件output.txt.文件的第1行是最小权顶点覆盖顶点权之和;第2行是最优解xi(1≤i≤n),xi=0表示顶点i不在最小权顶点覆盖中,xi=1表示顶点i在最小权顶点覆盖中.
问题描述:给定一棵树T,树中每个顶点u都有权值w(u),可以是负数.现在要找到树T的一个连通子图使该子图的权值和最大.
算法设计:对于给定的树T,计算树T的最大连通分支.
数据输入:由文件input.txt给出输入数据.第1行有1个正整数n,表示树T有n个顶点.树T的顶点编号为1,2,...,n.第2行有n个整数,表示n个顶点的权值.接下来的n-1行中,每行有表示树T的一条边的2个整数u和v,表示顶点u与顶点v相连.
结果输出:将计算出的最大连通分支的权值输出到文件output.txt.
问题描述:给定一个自然数n,由n开始可以依次产生半数集set(n)中的数如下:
(1)n∈set(m);
(2)在n的左边加上一个自然数,但该自然数不能超过最近添加的数的一半:
(3)按此规则进行处理,直到不能再添加自然数为止.
例如,set(6)={6,16,26,126,36,136}.半数集set(6)中有6个元素.注意,该半数集是多重集.
算法设计:对于给定的自然数n,计算半数集set(n)中的元素个数.
数据输入:输入数据由文件名为input.txt的文本文件提供.每个文件只有一行,给出整数n(0<n<1000).
结果输出:将计算结果输出到文件output.txt.输出文件只有一行,给出半数集set(n)中的元素个数.
算法设计:给定正整数n,计算Tab(n)中2xn的标准二维表的个数.
数据输入:由文件input.txt给出输入数据.第1行有1个正整数n.
结果输出:将计算出的Tab(n)中2xn的标准:二维表的个数输出到文件output.txt.
问题描述:关于整数的二元圈乘运算定义为
(XY)=十进制整数X的各位数字之和x十进制整数Y的最大数字+Y的最小数字
例如,(930)=9*3+0=27.
对于给定的十进制整数X和K,由X和运算可以组成各种不同的表达式.试设计一个算法,计算出由X和
运算组成的值为K的表达式最少需用多少个
运算.
算法设计:给定十进制整数X和K(1≤X,K≤1020),计算由X和 运算组成的值为K的表达式最少需用多少个运算.
数据输入:输入数据由文件名为input.txt的文本文件提供.每行有2个十进制整数X和K.最后一行是00.
结果输出:将找到的最少运算个数输出到文件output.txt.
算法设计:对于给定的n和k个加油站位置,计算最少加油次数.
数据输入:由文件input.tst给出输入数据.第1行有2个正整数n和k,表示汽车加满油后可行驶nkm,且旅途中有k个加油站.接下来的1行中有k+1个整数,表示第k个加油站与第k-1个加油站之间的距离.第0个加油站表示出发地,汽车已加满油.第k+1个加油站表示目的地.
结果输出:将计算的最少加油次数输出到文件output.txt.如果无法到达目的地,则输出“NoSolution",
问题描述:大于1的正整数n可以分解为例如,当n=12时,有8种不同的分解式:
算法设计:对于给定的正整数n,计算n共有多少种不同的分解式.
数据输入:由文件input.txt给出输入数据.第1行有1个正整数n
结果输出:将计算出的不同的分解式数输出到文件output.txt.
现进程有如下的访问序列:其逻辑地址为八进制的105、217、567、1120、2500。
试问给定的这些地址能否进行转换?若能,请说明地址转换过程及相应的物理地址。若不能,则说明理由。
算法设计:对于给定的实验和仪器配置情况,找出净收益最大的实验计划.
数据输入:由文件input.txt提供输入数据.文件第1行有两个正整数m和n,m是实验数,n是仪器数.接下来的m行,每行是一个实验的有关数据.第一个数是赞助商同意支付该实验的费用,然后是该实验需要用到的若干仪器的编号.最后一行的n个数是配置每个仪器的费用.
结果输出:将最佳实验方案输出到文件output.txt.第1行是实验编号,第2行是仪器编号,最后一行是净收益.