最長遞增子串行
本題要點:
1、left[i] 表示以i為結尾的最長嚴格遞增子串行長度
right[i] 表示以i 為開頭的最長嚴格遞減子串行長度
2、遍歷 1 <= i <= n , 取 left[i] + right[i] - 1 的最大值。
3、這裡計算 right 陣列時候,把 身高陣列 h 的資料翻轉過來了,
這樣子算的是 以 第 i 個結尾的最長嚴格遞增子串行。
#include
#include
#include
#include
using
namespace std;
const
int maxn =
110;
int h[maxn]
, left[maxn]
, right[maxn]
;int n;
void
calc
(int b,
int n)
} b[i]
= max_h +1;
}}void
solve()
calc
(right, n)
;int ans =0;
for(
int i =
1; i <= n;
++i)
printf
("%d\n"
, n - ans);}
intmain()
/*8186 186 150 200 160 130 197 220
*//*
4*/
洛谷 P1091 合唱隊形
n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2 k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 ti 1 tk 1 i k 你的任務是,已知所有n位同學的身高,計算最少需要幾位同學出列,...
洛谷 P1091 合唱隊形
p1091 合唱隊形 2k 通過 4.8k 提交 題目提供者洛谷onlinejudge 標籤 noip提高組 2004 雲端評測 難度 普及 提高 提交 討論 題解 最新討論 描述是啥玩意?不能加檔案讀 參考,絕對ac,fighting 動 參考 資料太大了 n 1000 題目描述 n位同學站成一排...
洛谷P1091合唱隊形
n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2 k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 ti 1 tk 1 i k 你的任務是,已知所有n位同學的身高,計算最少需要幾位同學出列,...