時間限制:1.0s 記憶體限制:256.0mb
問題描述
n位同學站成一排,**老師要請其中的(n-k)位同學出列,使得剩下的k位同學排成合唱隊形。
合唱隊形是指這樣的一種隊形:設k位同學從左到右依次編號為1,2…,k,他們的身高分別為t1,t2,…,tk, 則他們的身高滿足t1<…ti+1>…>tk(1<=i<=k)。
你的任務是,已知所有n位同學的身高,計算最少需要幾位同學出列,可以使得剩下的同學排成合唱隊形。
輸入格式
輸入的第一行是乙個整數n(2<=n<=100),表示同學的總數。第一行有n個整數,用空格分隔,第i個整數ti(130<=ti<=230)是第i位同學的身高(厘公尺)。
輸出格式
輸出包括一行,這一行只包含乙個整數,就是最少需要幾位同學出列。
樣例輸入
8186 186 150 200 160 130 197 220
樣例輸出
4資料規模和約定
up動態規劃:
思路:用動態規劃的思想
dpl[i] :表示的是以i為最大值元素左邊能站的最大人數
dpr[i] :表示的是以i為最大值元素右邊能站的最大人數
因為左邊和右邊都算了一次i元素,所以最後要減乙個1.
//合唱隊行 動態規劃
#include
#include
using
namespace std;
int dpl[
100]
;int dpr[
100]
;int a[
100]
;int n;
intmain()
dpl[1]
=1; dpr[n]=1
;//初始化
for(
int i =
2;i<=n;i++)}
for(
int i=n-
1;i>
0;i--)}
int maxl =0;
for(
int i =
1;i<=n;i++)
cout<<
(n-maxl)
}
培訓試題 合唱隊形
培訓試題 合唱隊形 time limit 1000ms memory limit 65536k total submit 1335 accepted 650 case time limit 500ms description n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排...
noip2004 提高組 合唱隊形
題目描述n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2 k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 ti 1 tk 1 i k 你的任務是,已知所有n位同學的身高,計算最少需要幾位同...
2019京東校招筆試題 合唱隊形
合唱隊的n名學生站成一排且從左到右編號為1到n nn,其中編號為i的學生身高為h ih i hi 現在將這些學生分為若干組 同一組的學生編號連續 並且讓每組學生從左到右按照身高從低到高排序,使得最後所有學生同樣滿足從左到右身高從低到高 中間位置可以相等 那麼最多能將這些學生分成多少組呢?利用輔助空間...