COGS1212 奶牛排隊

2021-08-01 01:14:49 字數 666 閱讀 8499

奶牛在熊大媽的帶領下排成了一條直隊。  

顯然,不同的奶牛身高不一定相同……

現在,奶牛們想知道,如果找出一些連續的奶牛,要求最左邊的奶牛a是最矮的,最右邊的b是最高的,且b高於a奶牛,中間如果存在奶牛,則身高不能和a、b奶牛相同。問這樣的奶牛最多會有多少頭?

從左到右給出奶牛的身高,請告訴它們符合條件的最多的奶牛數(答案可能是0,2,但不會是1)。第一行乙個數n (2≤n≤100000),表示奶牛的頭數。

接下來n個數,每行乙個數,從上到下表示從左到右奶牛的身高(1≤身高= maxlongint)。

一行,表示最多奶牛數。

512

341

4
樣例解析,取第1頭到第4頭奶牛,滿足條件且為最多。

題解:維護乙個單調遞減的單調佇列/單調棧 每次插入高度時 若隊中已有高度低於這頭牛的牛 就判斷隊中牛能向左延伸到的那頭牛能否被這頭牛延伸到 (特判高度相等的) 然後每個位置計算答案並更新

**:#include #include #include using namespace std;

struct statypesta[100010];

int top=-1;

int main()

sta[top-1]=sta[top];

top--;

} if(ans

USACO 奶牛排隊

題目 給出乙個只含有1,2,3的數字序列,問最少交換多少次才能將之變為遞增數列。解 注意到只有1,2,3,我們只要將1,3交換到自己的應在位置上那麼排序就已經完成了。需要交換的有幾種,記 a x,y 表示x在應該是y的位置上的 a i 的個數,那麼我們優先交換a 1,3 和a 3,1 裡的數字,一次...

高手訓練 RMQ 奶牛排隊

第一題由於過水,就沒寫awa 大概就是這樣了。題意就是求乙個最長的區間使得區間的左邊是它的最小值,區間右邊是他的最大值 第乙個想法肯定是暴力列舉啦awa 但是這個是o n 3 的,絕對的不可過awa 思考性質awa 發現我們列舉每個區間的左右端點,其實有大量的不合法的計算的 也就是沒有用的列舉。考慮...

vijos1548 奶牛排隊 題解

保證絕對非暴力做法!原題位址見下面。今天陽光明媚呢?勇者躺在草坪上。持續數週的風暴過去之後,他終於得以出門。這個時候 不來道應用試試?路由器拿出了檸檬,咬了一口,指了指那邊的農場。問題描述 奶牛在熊大媽的帶領下排成了一條直隊。顯然,不同的奶牛身高不一定相同 現在,奶牛們想知道,如果找出一些連續的奶牛...