尋找最長上公升子串行(長度及輸出)

2021-10-06 21:45:50 字數 683 閱讀 6453

#include

#include

int max(int a,int b)

void display(int tempmaxs,int index,int data,int maxlength)

}printf(「最長上公升子串行為:\n」);

for(i=count;i>=0;i–)

printf("%d 「,path[i]);

printf(」\n");

}void findmaxsequence(int data,int maxlength,int n)

}//輸出最長上公升子串行

printf(「以%d結尾的最長上公升子串行長度為%d\n」,data[i],maxlength[i]);

display(maxlength[i],i,data,maxlength);//列印每個元素對應的最長上公升子串行}}

int main()

;int n = sizeof(data)/sizeof(int);

int maxlength[n];//記錄以每乙個元素結尾的最長上公升子串行長度

最長上公升子串行長度 LIS O nlogn 演算法

此前在動態規劃一講 動態規劃 3 最長遞增子串行 曾說過此問題,當前是的雙重迴圈是o n 2 的複雜度。後來在網上看到說lis問題有o nlogn 的演算法,於是拿來小研究了一下。這個演算法其實已經不是dp了,有點像貪心。至於複雜度降低其實是因為這個演算法裡面用到了二分搜尋。本來有n個數要處理是o ...

HAOI2010 最長上公升子串行長度

題目描述 字串行的子串行是指從給定字串行中隨意地 不一定連續 去掉若干個字元 可能乙個也不去掉 後所形成的字串行。令給定的字串行x x0,x1,xn 1 序列y y0,y1,yk 1是x的子串行,存在x的乙個嚴格遞增下標序列 使得對所有的j 0,1,k 1,有xij yj。例如,x abcbdab ...

動態規劃 求最長上公升子串行長度

問題描述 求最長上公升子串行長度 include include include using namespace std const int maxn 1010 int a maxn 儲存輸入的資料 int maxlen maxn 儲存從開始到每乙個資料中最長上公升子串行長度 int main fo...