最长不下降子序列,很简单,但不知道哪里错了 我试了一下,没有你说的问题。输入3,然后1 2 3,输出是3。但这代码好像有逻辑问题,输入5,然后1 2 1 3 4 5,应该输出4才对,但还是输出5…
最长不下降子序列。。 我这个自己出数据都对,为什么ty过不了啊,大家帮看看 我这个已通过评测,并且输出了所求的最长不下降子序列。const m=1000;var i,j,k,n,max,temp:integer;a:array[1.m]of integer;d:array[1.m]of integer;recordit:array[1.m]of integer;procedure print(x:integer);beginif recordit[x]=x then begin write(a[x],' ');exit end;print(recordit[x]);if x=temp then write(a[x])else write(a[x],' ');end;begin{assign(input,'xx0.txt');reset(input);}readln(n);for i:=1 to n dobeginread(a[i]);d[i]:=1;recordit[i]:=i;end;for i:=1 to n dobegink:=1;temp:=recordit[i];for j:=1 to i-1 doif a[j][i]then if d[j]+d[i]>;k then begin temp:=j;k:=d[j]+d[i]end;d[i]:=k;recordit[i]:=temp;end;for i:=1 to n doif max[i]then begin temp:=i;max:=d[i]end;writeln(max);print(temp)end.
谁帮忙做个C语言题目:最长上升下降子序列 在线等答案!!! 谁帮忙做个C语言题目:最长上升下降子序列 在线等答案!Description 给定n个数,从中拿走x(x>;=0)个数,使剩下的数最有下列性质。A1…At>;At+1>;At+2>;…>;As 问最少要抽掉几。
如何判断一个序列是上升还是下降还是震荡?
最长不降子序列的长度等于不升子序列的数目? 这么来说吧对于一个序列 不断做最长不升序列 每次将结果中的数去掉 这个序列能做多少次 这个次数等于最长不降子序列的长度以前VIJOS上有道叫 导弹拦截的题要用这个
最长非降子序列 C语言 任意数列为a[n];用b[n]来记录最长递增子序列的长度;代码如下:int MaxSort(){int i,j,k;for(i=1,b[0]=1;i;i+){for(j=0,k=0;j;j+)if(a[j][i]&k[j])k=b[j];b[i]=k+1;}返回最大的b[i]int tmp=0;for(int i=0;i;i+){if(tmp[i])tmp=b[i];}return tmp;返回最长非降子序列的个数}如果是返回最长子序列,可以用容器:vector<;int >;MaxSort(){int i,j,k;for(i=1,b[0]=1;i;i+){for(j=0,k=0;j;j+)if(a[j][i]&k[j])k=b[j];b[i]=k+1;}返回最大的b[i]的下标countint count=0,tmp=0;for(i=0;i;i+){if(tmp[i]){tmp=b[i];count=i;}}定义vector,存最长非递减子序列vector<;int>;vec;tmp=b[count];for(i=count;i>;=0;i-){if(tmp>;=b[i]){vec.push_front(b[i]);tmp=b[i];}elsebreak;}return vec;}
最长公共不下降子序列的求法 Pascal语言?这语言没学过,不好意思!没能帮上你忙。
最大下降子序列长度问题 (1)问题描述 (1)问题描述 设有由n个不相同的整数组成的数列,记为:a(1)、a(2)、…、a(n)且a(i)<;>;a(j)(i<;>;j)例如3,18,7,14,10,12,23,41,16,24。。
最长不下降序列的概念
最长公共不下降子序列的求法 Pascal语言?这语言没学过,不好意思!没能帮上你忙。注意:是“最长公共不下降子序列”不是“最长不下降子序列”“最长公共子序列”。最好是Pascal语言 。