LIS 旅行青蛙

2021-08-26 12:14:51 字數 1213 閱讀 1172

上一次我們剛剛學過lis,下面我們再來做一道題,這是牛客網上的一道題。

旅行青蛙

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 262144k,其他語言524288k

64bit io format: %lld

乙隻青蛙出去旅遊,因為中國有一句古話說的好:「由簡入奢易,由奢入儉難」,所以這只青蛙當看的當前景點比前面看過的景點差的時候,青蛙就會說「不開心」為了避免這只青蛙說「不開心」,並且使青蛙看的景點盡量的多,所以他請你幫忙給他安排一條線路,使青蛙可以看到盡量多的景點,並且不走回頭路。

第一行為乙個整數n,表示景點的數量

接下來n行,每行1個整數,分別表示第i個景點的質量

乙個整數,表示青蛙最多可以看到幾個景點
示例1

複製

10318

7141012

2330

1624

複製

6
景點質量為1到n+23的整數

10<=n<23 10%

23<=n<233 30%

233<=n<2333 60%

2333<=n<23333 100%

大致上一看我們就會認為是求lis的,當時我也是這麼想的,可是後來提交後卻只過了32%的樣例,再仔細一看題才發現這並不是求lis的,而是求最長不下降子串行的,其實這和求lis是差不多的,只要把判斷條件中的》改寫成》=就行了,下面給出ac**;

#include#includeusing namespace std;

int a[23333],dp[23333];

int main()

int ans=0;

for(int i=2;i<=n;i++)

ans=max(ans,dp[i]);

}printf("%d",ans);

return 0;

}

這題的最大的n是2333,因為我們寫的這個演算法的複雜度是n*n的,所以這道題大概就執行了1e8次了,基本上也就是1秒了,這題給的資料還不是太大·,如果給的n是1e5,那麼我們在用這種演算法是不是就超時了,所以我們再想一下能不能優化一下·,當然可以啊,我們還有一種複雜度為o(nlogn)的演算法,在這裡就先不說了。

預知後事如何,請聽下回分解。

旅行青蛙出門及回家準備事項攻略彙總

旅行青蛙出門及回家準備事項攻略彙總。雖然遊戲看起來很簡單,但是日文的版本玩家肯定不知所措,下面小編就為玩家們帶來旅行青蛙出門還有回家攻略。旅行青蛙出門準備事項 在為你的青蛙收拾行李的時候不要只帶食物,要盡可能的把行李帶滿。並程式設計客棧且食物不是只值 10 個三葉草葡萄乾司康和 20 個三葉草的鵝腸...

蘋果打擊遊戲抄襲黨 山寨《旅行青蛙》終遭下架

techweb報道 1 月 29 日訊息,2018 年開年最火爆的遊戲非 旅行青蛙 莫屬,這個來www.cppcns.com自日本製作公司hit point的休閒手遊風靡全球,更是讓身邊颳起了一股養青蛙的風潮,不過這款遊戲在走紅後不久就被其他廠商拿來 山寨 幾款結合了 跳一跳 和 旅行青蛙 的手遊就...

一周快訊 宜家創始人去世,《旅行青蛙》團隊發話

1 宜家創始人ingvar kamprad去世 宜家家居創始人 ingvar kamprad 先生於當地時間 1 月 27 日去世,終年 91 歲。宜家集團在一則宣告中宣布了這條訊息。kamprad 先生在親友的陪伴下逝世於家中,死於疾病。kamprad 先生是20世紀最偉大的企業家之一。宜家集團在...