niusouti.com

单选题已知序列X={x1,x2,…,xm},序列Y={y1,y2,…,yn},使用动态规划算法求解序列X和Y的最长公共子序列,其最坏时间复杂度为()。A O(m*n)B O(m+n)C O(m*2n)D O(n*2m)

题目
单选题
已知序列X={x1,x2,…,xm},序列Y={y1,y2,…,yn},使用动态规划算法求解序列X和Y的最长公共子序列,其最坏时间复杂度为()。
A

O(m*n)

B

O(m+n)

C

O(m*2n

D

O(n*2m


相似考题

3.阅读以下函数说明和Java代码,将应填入(n)处的字句写在对应栏内。【说明】现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例画矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图9-6显示了各个类间的关系。这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是 Java语言实现,能够正确编译通过。【Java代码】//DP1.java文件public class DP1{static public void draw_a line(double x1,double y1,double x2,double y2){//省略具体实现}}//DP2.java文件public class DP2{static public void drawline(double x1,double y1,double x2,double y2){//省略具体实现}}//Drawing.java文件(1) public class Drawing{abstract public void drawLine(double x1, double y1, double x2, double y2);}//V1Drawing.java文件public class V1Drawing extends Drawing{public void drawLine(double x1, double y1, double x2, double y2){DP1.draw_a_line(x1,y1,x2,y2);}}//V2Drawing.java文件public class V2Drawing extends Drawing{public void drawLine(double x1,double y1,double x2, double y2)(//画一条直线(2);}}//Shape.java文件abstract public class Shape{abstract public void draw();private (3) _dp;Shape(Drawing dp){_dp=dp;}protected void drawLine(double x1,double y1,double x2, double y2){(4);}}//Rectangle.java文件public class Rectangle extends Shape{private double_x1,_x2,_y1,_y2;public Rectangle(Drawing dp,double x1,double y1,double x2,double y2){(5);_x1=x1;_x2=x2;_y1=y1;_y2=y2;}public void draw(){//省略具体实现}}

更多“已知序列X={x1,x2,…,xm},序列Y={y1,y2,…,yn},使用动态规划算法求解序列X和Y的最长公共子序列,”相关问题
  • 第1题:

    已知一组数据X1,X2,„,Xn的平均数为 20.45,若令Yi=8Xi+5,则数组Y1,Y2,„,Yn的平均数是( )

    A. 20.45

    B. 163.4

    C. 168.6

    D.170


    参考答案:C

  • 第2题:

    如果一个直线控件在窗体上呈现为一条垂直线,则可以确定的是( )。A.它的Y1、Y2属性的值相等SXB

    如果一个直线控件在窗体上呈现为一条垂直线,则可以确定的是( )。

    A.它的Y1、Y2属性的值相等

    B.它的 X1、X2属性的值相等

    C.它的X1、Y1属性的值分别与X2、Y2属性的值相等

    D.它的 X1、X2属性的值分别与Y1、Y2属性的值相等


    正确答案:B
    B。【解析】当直线控件在窗体呈现垂直时,它的x1和X2属性应该相同,因为坐标是从左上角开始算起的。横向为X轴,纵向为Y轴。

  • 第3题:

    程序段如下,当发生Form_Click事件时,窗体上输出的结果是( )。 Option Explicit Private x As Integer Public y As Integer Sub Test() Dim y as integer x=2:y=2 Print"x1=";x;"y1=";y End Sub Private Sub Form_Click() x=1:y=1 Test Print "X2=";x;"y2=";y End Sub

    A.x1=2 y1=2 x2=2 y2=1

    B.x1=2 y1=2 x2=2 y2=2

    C.x1=2 y1=1 x2=2 y2=2

    D.x1=2 y1=1 x2=2 y2=1


    正确答案:A
    解析:本题首先定义了一个窗体级变量x和一个全局变量y。当发生窗体的单击事件后,给窗体级变量x和全局变量y分别赋值1,然后调用Test函数。在该函数中定义了一个局部变量y,在函数中使用的y是局部变量,给窗体级变量x赋值2,给局部变量y赋值2,输出的x和y的值都是2。函数调用返回后,窗体级的变量x的值为2,全局变量y的值依旧为1。

  • 第4题:

    (18)如果一个直线控件在窗体上呈现为一条垂直线,则可以确定的是

    A)它的Yl、Y2属性的值相等

    B)它的X1、X2属性的值相等

    C)它的X1、Yl属性的值分别与X2, Y2属性的值相等

    D) 它的X1、X2属性的值分别与Y1、Y2属性的值相等


    正确答案:B

  • 第5题:

    设总体X,Y相互独立且都服从N(μ,σ^2)分布,(X1,X2,…,Xn)与(Y1,Y1,…,yn)分别为来自总体X,Y的简单随机样本,证明:为参数σ^2的无偏估计量,


    答案:
    解析:

  • 第6题:

    设有两个参与人x和y,x有两个纯策略x1和x2,y有两个纯策略y1和y2。当y选择y1和y2时,x选择x1得到的支付分别为x11和x12,选择x2得到的支付分别为x1和x22;当x选择x1和x2时,y选择y1得到的支付分别为y11和y21,选择y2得到的支付分别为y12和y22 (1)试给出相应的博弈矩阵。 (2)这种博弈矩阵的表示是唯一的吗?为什么?


    答案:
    解析:
    (1)如表10-10所示。

    (2)不唯一。例如,将表的行与列互换后得到的就是另外一个博弈矩阵。

  • 第7题:

    某地区1950-1990年的人均食物年支出和人均年生活费收入月度数据如表3-2所示。


    据此回答以下五题95-99。
    为判断该两组时间序列的平稳性,首先将人均食品支出和人均年生活费收入消除物价变动的影响,得到实际人均年食品支出(Y)和实际人均年生活费收入(X),再对Y和X分别取对数,记y=lnY,x=lnX。对其进行ADF检验,结果如表3-3、表3-4所示,表明(  )。

    A.x序列为平稳性时间序列,y序列为非平稳性时间序列
    B.x和y序列均为平稳性时间序列
    C.x和y序列均为非平稳性时间序列
    D.y序列为平稳性时间序列,x序列为非平稳性时间序列

    答案:C
    解析:
    从表3-3和表3-4可以看出,x和y序列的ADF检验统计量值均大于在1%、5%和10%显著性水平下的临界值,表明x和y序列均为非平稳性时间序列。

  • 第8题:

    吸收操作线是通过()得来的,在Y-X图上吸收操作线通过(D://X2、Y2)、(E://X1、Y1)两点。


    正确答案:物料衡算

  • 第9题:

    设参考序列为 Y0=(8,8.8,16,18,24,32),被比较序列为 Y1=(10,11.16,18.34,20,23.4,30) Y2=(5,5.625,5.375,6.875,8.125,8.75) 求其关联度。


    正确答案: r1=0.7988 ,r2=0.6449,计算结果表明Y1与Y0的关联程度大于Y2与Y0的关联程度。

  • 第10题:

    设明文分组序列X1„Xn产生的密文分组序列为Y1„Yn。假设一个密文分组Y1在传输是出现了错误(即某些1变成了0,或者相反)。不能正确解密的明文分组数目在应用()模式时为1.

    • A、电子密码本模式和输出反馈模式
    • B、电子密码本模式和密码分组链接模式
    • C、密码反馈模式和密码分组链接模式
    • D、密码分组链接模式和输出反馈模式

    正确答案:B

  • 第11题:

    单选题
    使用Line控件在窗体上画一条从(0,0)到(600,700)的直线,则其相应属性的值应是(  )。
    A

    X1=0,X2=600,Y1=0,Y2=700

    B

    Y1=0,Y2=600,X1=0,X2=700

    C

    X1=0,X2=0,Y1=600,Y2=700

    D

    Y1=0,Y2=0,X1=600,X2=700


    正确答案: A
    解析:
    X1,Y1,X2,Y2属性是直线的起点、终点坐标。

  • 第12题:

    问答题
    设参考序列为 Y0=(8,8.8,16,18,24,32),被比较序列为 Y1=(10,11.16,18.34,20,23.4,30) Y2=(5,5.625,5.375,6.875,8.125,8.75) 求其关联度。

    正确答案: r1=0.7988 ,r2=0.6449,计算结果表明Y1与Y0的关联程度大于Y2与Y0的关联程度。
    解析: 暂无解析

  • 第13题:

    阅读以下说明和C++代码,

    [说明]

    现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图6-1显示了各个类间的关系。

    [图6-1]

    这样,系统始终只处理3个对象:Shape对象、Drawingg对象、DP1或DP2对象。以下是C++语言实现,能够正确编译通过。

    [C++代码]

    class DP1{

    public:

    static void draw_a_line(double x1,double y1,double x2,double y2){

    //省略具体实现

    }

    };

    class DP2{

    public:

    static void drawline(double x1,double x2,double y1,double y2){

    //省略具体实现

    }

    };

    class Drawing{

    public:

    (1) void drawLine(double x1,double y1,double x2,double y2)=0;

    };

    class V1Drawing:public Drawing{

    public:

    void drawLine(double x1,double y1,double x2,double y2){

    DP1::draw_a_line(x1,y1,x2,y2);

    }

    };

    class V2Drawing:public Drawing{

    public:

    void drawLine(double x1,double y1,double x2,double y2){

    (2)

    }

    };

    class Shape{

    privatc:

    (3) dp;

    public:

    Shape(Drawing*dp);

    virtual void draw()=0;

    void drawLine(double x1,double y1,double x2,double y2);

    };

    Shape::Shape(Drawing*dp)

    {

    _dp=dp;

    }

    void Shape::drawLine(double x1,double y1,double x2,double y2)

    { //画一条直线

    (4);

    }

    class Rectangle:public Shape{

    privatc:

    double_x1,_y1,_x2,_y2;

    public:

    Rectangle(Drawing *dp,double x1,double y1,

    double x2,double y2);

    void draw();

    };

    Rectangle::Rectangle(Drawing*dp,double x1,double y1,double x2,double y2)

    : (5)

    {

    _x1=x1;_y1=yl;_x2=x2;_y2=y2;

    }

    void Rectangle::draw()

    {

    //省略具体实现

    }

    (1)


    正确答案:virtual
    virtual 解析:由函数drawLine()结尾的“=0”易知,空(1)应填virtual。

  • 第14题:

    阅读以下说明和c++代码,将应填入(n)处的字句写在对应栏内。

    【说明】

    现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1, y1,x2,y2)画一条直线,DF2则用drawline(x1,x2,y1,y2)画一条直线。当实例画矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现 部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图9-7显示了各个类间的关系。

    这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是 C++语言实现,能够正确编译通过。

    【C++代码】

    class DP1{

    public:

    static void draw_a_line(double x1, double y1,double x2, double y2){

    //省略具体实现

    }

    );

    class DP2{

    public:

    static void drawline(double x1, double x2,double y1, double y2){

    //省略具体实现

    }

    };

    class Drawing{

    public:

    (1) void drawLine(double x1,double y1,double x2,double y2)=0;

    };

    class V1Drawing:public Drawing{

    public:

    void drawLine(double x1, double y1,double x2, double y2){

    DP1::draw_a_line(x1,y1,x2,y2);

    }

    };

    class V2Drawing:public Drawing{

    public:

    void drawLine(double x1, double y1, double x2, double y2){

    (2);

    }

    };

    class Shape{

    private:

    (3) _dp;

    public:

    Shape(Drawing *dp);

    virtual void draw()=0;

    void drawLine(double x1, double y1, double x2, double y2);

    };

    Shape::Shape(Drawing *dp)

    {

    _dp = dp;

    }

    void Shape::drawLine(double x1, double y1, double x2, double y2)

    { //画一条直线

    (4);

    }

    class Rectangle: public Shape{

    private:

    double _x1,_y1,_x2,_y2;

    public:

    Rectangle(Drawing *dp, double x1, double y1,

    double x2, double y2);

    void draw();

    };

    Rectangle::Rectangle(Drawing *dp, double x1, double y1, double x2, double y2)

    :(5)

    {

    _x1=x1;_y1=y1;_x2=x2;_y2=y2;

    }

    void Rectangle::draw()

    {

    //省略具体实现

    }


    正确答案:(1) virtual (2) DP2::drawline(x1x2y1y2) (3) Drawing (4) _dp->drawLine(x1y1x2y2) (5) Shape(dp)
    (1) virtual (2) DP2::drawline(x1,x2,y1,y2) (3) Drawing (4) _dp->drawLine(x1,y1,x2,y2) (5) Shape(dp) 解析:由函数drawLine()结尾的“=0”易知,空(1)应填virtual。
    空(2)是调用DP2系统的相应方法,可参照DP1的对应函数的函数体,但要注意参数不完全相同,应填DP2::drawline(x1,x2,y1,y2)。
    _dp属性是用来存储Drawing对象的,参照Shape的构造函数可确认这一点,空(3)应填 Drawing*。
    Shape类的drawLine方法是通过调用Drawing对应的方法来实现所需要的功能,因此空(4)应填_dp->drawLine(x1,y1,x2,y2)。
    空(5)显然是基类构造函数,应填Shape(dp)。

  • 第15题:

    阅读以下函数说明和Java代码,

    [说明]

    现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DPI还是DP2。

    为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图7-1显示了各个类间的关系。

    [图7-1]

    这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是JAvA语言实现,能够正确编译通过。

    [Java代码]

    //DP1.Java文件

    public class DPI{

    static public void draw_a_line(double x1,double y1,

    double x2,double y2){

    //省略具体实现

    }

    }

    //DP2.java文件

    public class DP2{

    static public void drawline(double x1,double y1,

    double x2,double y2){

    //省略具体实现

    }

    }

    //Drawing.java文件

    (1) public class Drawing{

    abstract public void drawLine(double x1,double y1,double x2,double y2);

    }

    //V1Drawing.java文件

    public class V1Drawing extends Drawing{

    public void drawLine(double x1,double y1,double x2,double y2){

    DP1.draw_a_line(x1,y1,x2,y2);

    }

    }

    //V2Drawing.java文件

    public class V2Drawing extends Drawing{

    public void drawLine(double x1,double y1,

    double x2,double y2){//画一条直线

    (2);

    }

    }

    //Shape.java文件

    abstract public class Shape{

    abstract public void draw();

    private (3) dp;

    Shape(Drawing dp){

    _dp=dp;

    }

    protected void drawLine(double x1,double y1,

    double x2,double y2){

    (4);

    }

    }

    //Rectangle.java文件

    public class Rectangle extends Shape{

    private double_x1,_x2,_y1,_y2;

    public Rectangle(Drawing dp,

    double x1,double y1,

    double x2,double y2){

    (5);

    _x1=x1;_x2=x2;

    _y1=y1;_y2=y2;

    }

    public void draw(){

    //省略具体实现

    }

    }

    (1)


    正确答案:abstract
    abstract 解析:由类Drawing的drawLine()方法是abstract的知,Drawing要么是接口,要么是抽象类,在此为抽象类,故空(1)应填abstract。

  • 第16题:

    如果从变量y1,y2到x1,x2的线性变换是,则变量x1,x2到变量y1,y2的线性变换是:


    答案:A
    解析:

  • 第17题:

    求解两个长度为n的序列X和Y的一个最长公共子序列(如序列ABCBDAB和BDCABA的一个最长公共子序列为BCBA)可以采用多种计算方法。如可以采用蛮力法,对X的每一个子序列,判断其是否也是Y的子序列,最后求出最长的即可,该方法的时间复杂度为( )。经分析发现该问题具有最优子结构,可以定义序列长度分别为i和j的两个序列X和Y的最长公共子序列的长度为c[i,j],如下式所示。



    采用自底向上的方法实现该算法,则时间复杂度为(请作答此空)

    A.O(n^2)
    B.O(n^21gn)
    C.O(n^3)
    D.O(n2^n)

    答案:A
    解析:
    蛮力法,对X的每一个子序列,判断是否也是Y的子序列,其中,长度为n的序列X共有2^n个子序列,判断其是否是Y的子序列时间是n,因此是n*2^n;采用动态规划法自底向上实现时,根据递归公式,实际是关于i和j的两重循环,因此时间复杂度是n^2.

  • 第18题:

    在一个人(既是消费者又是生产者)的经济e={X,y,ω}中,商品1和商品2在消费和生产中分别满足下面的条件:X一{z∈R2 ▏x1≥2,x2≥0}Y={y∈R2▏y2≤2(-y1)2,y1≤0)。效用函数为U(x1,x2)-(x1-2)x2,初始资源禀赋为ω=(4,0)。 对于价格p=(p1,p2)∈R2++,写出生产者问题并求解最大化利润下的y1和y2。


    答案:
    解析:
    生产者问题可表述为:

    构造拉格朗日辅助函数: L=p1y1+p2 y2 +λ1(-y1)+λ2(2y12-y2) 根据K-T条件及经济学含义,得:

    解得:

  • 第19题:

    再分别对X和Y序列作1阶差分得△x和△y序列,对其进行平稳性检验,检验结果如表3-5和表3-6所示,从中可以看出(  )。

    A.1阶差分后的x和y序列在10%的显著性水平均为平稳性时间序列
    B.x和y序列均为1阶单整序列
    C.1阶差分后的x和y序列在1%的显著性水平均为平稳性时间序列
    D.x和y序列均为0阶单整序列

    答案:A,B
    解析:
    从表3-5和表3-6可以看出,△x和△y序列的单位根检验统计量值分别约为-3.5586和-2.7080,均大于1%显著性水平下的临界值-3.6171,小于10%显著性水平下的临界值-2.6092,表明1阶差分后的x和y序列在10%的显著性水平均为平稳性时间序列,即x和y序列均为1阶单整序列。

  • 第20题:

    已知X1=+0010100,Y1=+0100001,X2=0010100,Y2=0100001,试计算下列各式(设字长为8位)。 (1)[X1+Y1]补=[X1]补+[Y1]补=() (2)[X1-Y2]补=[X1]补+[-Y2]补=() (3)[X2-Y2]补=[X2]补+[-Y2]补=() (4)[X2+Y2]补=[X2]补+[Y2]补=()


    正确答案:00010100+00100001=00110101;00010100+00100001=00110101;11101100+00100001=00001101;11101100+11011111=11001011

  • 第21题:

    若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列X和Y的一个最长公共子序列:()


    正确答案:{B,A,B,C,D}或{C,A,B,C,D}或{C,A,D,C,D}

  • 第22题:

    单选题
    如果一个直线控件在窗体上呈现为一条垂直线,则可以确定的是(  )。
    A

    它的Y1、Y2属性的值相等

    B

    它的X1、X2属性的值相等

    C

    它的X1、Y1属性的值分别与X2、Y2属性的值相等

    D

    它的X1、X2属性的值分别与Y1、Y2属性的值相等


    正确答案: B
    解析:
    直线控件中,X、Y属性可以确定直线控件在窗体上的呈现形式。B项,当直线控件在窗体上呈现为一条垂直线时,表示该控件的X属性取值相同。A项,表示该直线控件是一个水平直线;C项,表示点;D项,表示该直线为对角线直线。

  • 第23题:

    填空题
    若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列X和Y的一个最长公共子序列:()

    正确答案: {B,A,B,C,D}或{C,A,B,C,D}或{C,A,D,C,D}
    解析: 暂无解析