一、思路
感覺自己好笨
雖然知道是求兩次最長上公升子串行,一邊上公升,一邊下降
我愣是理解成了,寫兩個,都是順序來,乙個是求順序的最長上公升
乙個是順序的最長下降
怎麼除錯都是20-40個得分點
鬱悶了求兩次 成開口向下的拋物線
順序求上公升
逆序求上公升
然後求max(aup[i] + areverseup[i] - 1) 其中1<=i<=n
時間複雜度nlogn
總結:想清楚了再寫,不要想到某個點 就去弄,陷於區域性
終於ac了
#include #define max 101
//二分查詢,小於key 的最大f的位置j
int binarysearch(int * f, int l, int r, int key)
else
}else }
//二分查詢,大於key的最小f的位置j
int upbinarysearch(int *upf,int l, int r, int key)
else
}else }
int main()
//正著上公升求序
f[0] = -9999;
k = 0;
for (i=1; i<=n; i++)
{ if (f[k]=1; i--)
{ if (f[k]
百煉2711 合唱隊形(最長上公升子串行)
description n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學不交換位置就能排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2,k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 t2 ti ti ti 1 tk 1 i k 你的任...
線性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...