c 合唱隊問題

2021-07-11 03:26:12 字數 1157 閱讀 9108

計算最少出列多少位同學,使得剩下的同學排成合唱隊形

說明:

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

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

<..

....

−1>ti

+1>..

....

>tk

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

輸入樣例:

8

186 186 150 200 160 130 197 200

輸出樣例:

4
程式**:

#include "iostream"

#include "stdio.h"

#include "math.h"

#include "vector"

#include "queue"

#include "memory.h"

#include "algorithm"

#include "string"

using namespace std;

int inc1[200],inc2[200],a[200];

//inc1-->longest increase array from head to tail

//inc2-->longest increase array from tail to head

int main()

// printf("%d",inc1[i]);

}inc2[n]=1;

for(i=n-1;i>=1;i--)

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

if(inc1[i]+inc2[i]-1>ans)

ans=inc1[i]+inc2[i]-1;

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

}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 最後對每個數...