twice 合唱隊型

2022-03-21 06:34:24 字數 861 閱讀 6015

【題目描述】

n位同學站成一排,**老師要請其中的(n-k)位同學出列,使得剩下的k位同學排成合唱隊形。

合唱隊形是指這樣的一種隊形:設k位同學從左到右依次編號為1, 2, …, k,他們的身高分別為t1, t2, …, tk,則他們的身高滿足t1 < t2 < … < ti , ti > ti+1 > … > tk (1 <= i <= k)。

你的任務是,已知所有n位同學的身高,計算最少需要幾位同學出列,可以使得剩下的同學排成合唱隊形。

【輸入格式】

輸入的第一行是乙個整數n(2 <= n <= 100),表示同學的總數。第一行有n個整數,用空格分隔,第i個整數ti(130 <= ti <= 230)是第i位同學的身高(厘公尺)。

【輸出格式】

輸出包括一行,這一行只包含乙個整數,就是最少需要幾位同學出列。

【樣例輸入】

8

186 186 150 200 160 130 197 220

【樣例輸出】

4【分析】

兩個方向找到i點的最長上公升子串行。

#include #define maxn 110

int f1[maxn],f2[maxn],a[maxn];

int n,ans;

int main()

for (int i = n;i > 0;--i)

for (int i = 1;i <= n;++i)

if (f1[i] + f2[i] > ans)

ans = f1[i] + f2[i];

printf("%d\n",n - (ans - 1));

return 0;

}

合唱隊 華為

計算最少出列多少位同學,使得剩下的同學排成合唱隊形 說明 n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2 k,他們的身高分別為t1,t2,tk,則他們的身高滿足存在i 1 i k 使得t1ti 1 ...

華為OJ合唱隊

描述 計算最少出列多少位同學,使得剩下的同學排成合唱隊形 說明 n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2 k,他們的身高分別為t1,t2,tk,則他們的身高滿足存在i 1 i k 使得titi...

華為oj 合唱隊

這個題目可以分解成正序和逆序的最大上公升子串行的問題來處理,對每個數字存放以當前數字為結尾時的最大上公升子串行數,只需要對前面的每個數進行比較,找到比當前數字小的數字,並且上公升子串行長度最大的作為當前的最大值,即for i 1 ia j dp j 1 dp i dp i dp j 1 最後對每個數...