題目描述: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
本題考察的是最長遞增子串行,需要注意的就是仔細審題,最高的只有乙個,並且出於「中間位置」,這樣我們可以兩次求最長遞增子串行,並且記錄從左以及從右開始每次到某個位置的最長遞增序列。
1 #include 23int f[101];4
int buf[101];5
int inf[101];6
intmain()
18for (int m = t; m >= 1; m--)
24for(int x = 1; x <= t; x++)
25 max = max > f[x] + inf[x] ? max : f[x] +inf[x];
2627 printf("
%d\n
", t - max + 1
);28}29
return0;
30 }
九度 27 簡單計算器 棧
不知道為啥這個會報錯deque iterator not dereferencable include include include include using namespace std char str 210 int prio 5 5 stackop 村運算子編號 stacknum 表示式數...
簡單計算器 九度教程第27題
利用堆疊對表示式求值的方法 1.設立兩個堆疊,乙個用來儲存運算子,另乙個用來儲存數字。2.在表示式首尾新增標記運算子,該運算子運算優先順序最低。3.從左至右依次遍歷字串,若遍歷到運算子,則將其與運算子棧的棧頂元素進行比較,若運算子棧的棧頂運算子優先順序小於該運算子或者此時運算子棧為空,則將該運算子壓...
九度Oj題解
一 動態規劃專題 1205 n階樓梯上樓問題 dp i 表示到達i階的方法數,狀態轉移方程 dp i dp i 1 dp i 2 值很大要用long long.1451 不容易系列之一 dp i 表示總共i個數時的錯排方案數,狀態轉移方程 dp i i 1 dp i 1 i 2 dp i 2 142...