分分鐘的碎碎念

2021-09-17 21:48:30 字數 983 閱讀 4383

以前有個孩子,他分分鐘都在碎碎念。不過,他的念頭之間是有因果關係的。他會在本子裡記錄每乙個念頭,並用箭頭畫出這個念頭的**於之前的哪乙個念頭。翻開這個本子,你一定會被互相穿梭的箭頭給攪暈,現在他希望你用程式計算出這些念頭中最長的一條因果鏈。

將念頭從1到n編號,念頭i**於念頭from[i],保證from[i]第一行乙個正整數n表示念頭的數量

接下來n行依次給出from[1],from[2],…,from[n]

共一行,乙個正整數l表示最長的念頭因果鏈中的念頭數量

801

0324

24

3
本題剛開始理解錯誤,後來才反應回來由於這個鏈要形成總是有from[i] < i

所以就可以從後往前了,當然了,從前往後也可以

我們可以看到在測試資料中

from[9] =

假設t為陣列下標,則有

from[1] = 0  ,t = 1

from[2] = 1  ,t = 2

from[3] = 0  ,t = 3

from[4] = 3  ,t = 4

from[5] = 2  ,t = 5

from[6] = 4  ,t = 6

from[7] = 2  ,t = 7

from[8] = 4  ,t = 8

那麼斜著看則有

from[1] → from[2] →from[5]

from[1] → from[2] →from[7]

from[3] → from[4] →from[6]

from[3] → from[4] →from[8]

貼個**:

#includeint a[1005];

int main()

if(big < g)

big = g;

} printf("%d", big);

return 0;

}

演算法提高 分分鐘的碎碎念

時間限制 1 sec 記憶體限制 256 mb 提交 9 解決 4 提交 狀態 討論版 以前有個孩子,他分分鐘都在碎碎念。不過,他的念頭之間是有因果關係的。他會在本子裡記錄每乙個念頭,並用箭頭畫出這個念頭的 於之前的哪乙個念頭。翻開這個本子,你一定會被互相穿梭的箭頭給攪暈,現在他希望你用程式計算出這...

演算法提高 分分鐘的碎碎念

問題描述 以前有個孩子,他分分鐘都在碎碎念。不過,他的念頭之間是有因果關係的。他會在本子裡記錄每乙個念頭,並用箭頭畫出這個念頭的 於之前的哪乙個念頭。翻開這個本子,你一定會被互相穿梭的箭頭給攪暈,現在他希望你用程式計算出這些念頭中最長的一條因果鏈。將念頭從1到n編號,念頭i 於念頭from i 保證...

演算法提高 分分鐘的碎碎念

題目鏈結 問題描述 以前有個孩子,他分分鐘都在碎碎念。不過,他的念頭之間是有因果關係的。他會在本子裡記錄每乙個念頭,並用箭頭畫出這個念頭的 於之前的哪乙個念頭。翻開這個本子,你一定會被互相穿梭的箭頭給攪暈,現在他希望你用程式計算出這些念頭中最長的一條因果鏈。將念頭從1到n編號,念頭i 於念頭from...