牛牛的跳跳棋 牛客noip集訓第一場B

2021-10-25 05:56:49 字數 591 閱讀 7494

競賽傳送門

我用了100多行暴力深搜,可能腦子抽了,之後補題懂了。

在此感謝@ssl_tjh

貪心在這對應的演算法就是

那這道題就可以很愉快的用貪心解決了,在用魔法之前竟可能的走到更前面,然後在跳最後一次的地方用一次魔法。 這時候可能會有人問:為什麼這樣一定可以呢?

因為它無論在什麼地方使用魔法,都只能在原來的基礎上多走一步,那肯定就是先找到能走到最遠地方的最後一點,然後再那個地方用魔法。 然後我們只要在走的時候記錄一下在那些地方用了魔法,在到終點之後輸出出來就可以了。

一開始我在想,有可能直接maxn>n,那i豈不是到不了maxn?

但應該是這樣,在i+a[i]>n之後,裡面的if語句已經把maxn>n的情況直接輸出了,所以排除了這種可能

else

if(i == maxn)

這裡我的理解就是,用的是num[0]來記錄用魔法的次數,之後的num[i]記錄用魔法的地方每一次用魔法的地方在maxx,用魔法之後能走多一格,所以maxn++,如果沒走到終點,還要再用魔法,所以要記錄下來下一次用魔法的地方,也就是現在的maxn

牛客 牛牛的數列

鏈結 牛牛的數列 時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 牛牛現在有乙個n個數組成的數列,牛牛現在想取乙個連續的子串行,並且這個子串行還必須得滿足 最多隻改變乙個數,就可以使得這個連續的子串行是乙個嚴格上公升...

牛客網 牛牛的數列

題目描述 牛牛現在有乙個n個數組成的數列,牛牛現在想取乙個連續的子串行,並且這個子串行還必須得滿足 最多隻改變乙個數,就可以使得這個連續的子串行是乙個嚴格上公升的子串行,牛牛想知道這個連續子串行最長的長度是多少。一開始看到這個題,總是被繞進 改變乙個數 中,就想說是不是遍歷陣列,然後每個數都嘗試改變...

牛客 2020 10 17 牛牛的密碼

牛牛在註冊不同的 時,總是會使用不同的密碼來保證他的賬號安全。為了保證他的密碼強度,牛牛使用他的 字串篩選器 來測試密碼的強度。具體來說,他先將輸入的字串篩選分成四部分。第一部分僅由小寫英文本母組成 第二部分僅由大寫英文本母組成 第三部分僅由0到9的數字組成 第四部分由其餘特殊字元組成 這四部分要保...