九度OJ 1131 合唱隊形

2021-06-26 03:53:19 字數 476 閱讀 2652

這是一道最長遞增子串行加強版。

只需計算以a[i]為結尾的最長遞增子串行,以a[i]為開頭的最長遞減子串行(這個實際就是逆序後的以a[i]為結尾最長遞增子串行嘛!)

兩個部分**:

for(i=1;ia[j] && f1[j]+1>max)

}f1[i]=max;

} for(i=n-2;i>=0;i--)

}f2[i]=max;/

}

我一開始犯了乙個錯誤:注意標記部分,我一開始寫的是f2[i]=f2[i]+max-1;本意是直接計算出符合題意的序列總長度,然而這是不對的,因為f2[i]會影響到後面的計算。而且即使可以,f2[n-1]也是沒有計算的.

最後這樣處理就ok了。

for(i=0;imax)

max=f2[i];

} printf("%d\n",n-max+1);

九度OJ 題目1131 合唱隊形

題目描述 n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學不交換位置就能排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2,k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 t2 ti ti ti 1 tk 1 i k 你的任務是,已知所有...

九度 1131 合唱隊形

題目1131 合唱隊形 時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 3549 解決 1104 題目描述 n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學不交換位置就能排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2,k,他們的身高分...

1131 合唱隊形

題目描述 n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學不交換位置就能排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2,k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 t2 ti ti ti 1 tk 1 i k 你的任務是,已知所有...