description
n位同學站成一排,**老師要請其中的(n-k)位同學出列,使得剩下的k位同學不交換位置就能排成合唱隊形。
合唱隊形是指這樣的一種隊形:設k位同學從左到右依次編號為1, 2, …, k,他們的身高分別為t1, t2, …, tk,則他們的身高滿足t1 < t2 < … < ti , ti > ti+1 > … > tk (1 <= i <= k)。
你的任務是,已知所有n位同學的身高,計算最少需要幾位同學出列,可以使得剩下的同學排成合唱隊形。
input
輸入的第一行是乙個整數n(2 <= n <= 100),表示同學的總數。第一行有n個整數,用空格分隔,第i個整數ti(130 <= ti <= 230)是第i位同學的身高(厘公尺)。
output
輸出包括一行,這一行只包含乙個整數,就是最少需要幾位同學出列。
sample input
8186 186 150 200 160 130 197 220
sample output
思路正反兩次 lis,dp[i] = dp正[i]+dp反[i]-1;
**
#include
#include
using namespace std;
int a[
105]
,dpz[
105]
,dpf[
105]
;int
main
(void
)for
(int i =
1;i)for
(int i = n-
2;i>=
0;i--
)for
(int i =
0;i)sort
(dpz,dpz+n)
;printf
("%d\n"
,n-dpz[n-1]
);}return0;
}
合唱隊形 最長上公升子串行變形
一 思路 感覺自己好笨 雖然知道是求兩次最長上公升子串行,一邊上公升,一邊下降 我愣是理解成了,寫兩個,都是順序來,乙個是求順序的最長上公升 乙個是順序的最長下降 怎麼除錯都是20 40個得分點 鬱悶了求兩次 成開口向下的拋物線 順序求上公升 逆序求上公升 然後求max aup i areverse...
線性dp 合唱隊形 最長上公升子串行模型
相關 線性dp 最長上公升子串行 模板題 最長上公升子串行模型 線性dp 怪盜基德的滑翔翼 最長上公升子串行模型 強相關 線性dp 登山 最長上公升子串行模型 482.合唱隊形 重點 線性dp lis問題 思路 本題為noip2004提高組原題。正反兩遍再求和 include include usi...
P1091 合唱隊形 (最長上公升子串行正反利用)
n n 位同學站成一排,老師要請其中的 n kn k 位同學出列,使得剩下的 k k 位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為 1,2,k1,2,k 他們的身高分別為 t 1,t 2,t kt1 t2 tk 則他們的身高滿足 t 1 t t k 1 le i le...