上一次我們剛剛學過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世紀最偉大的企業家之一。宜家集團在...