藍橋杯 分分鐘的碎碎念 動態規劃

2021-09-12 15:47:30 字數 685 閱讀 7657

問題描述

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

將念頭從1到n編號,念頭i**於念頭from[i],保證from[i]2->5 (from[5]=2,from[2]=1,from[1]=0)

1->2->7 (from[7]=2,from[2]=1,from[1]=0)

3->4->6 (from[6]=4,from[4]=3,from[3]=0)

3->4->8 (from[8]=4,from[4]=3,from[3]=0)

資料規模和約定

1<=n<=1000

這一題是乙個簡單的動態規劃問題,這種from陣列的型別在輸出乙個具體決策結果的時候經常使用的。記錄乙個終點的值,用迴圈訪問from陣列即可。

#include#includeusing namespace std;

int from[1001];

int dp[1001];

int main ()

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

cout << ans;

return 0;

}

分分鐘的碎碎念

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

藍橋杯 ADV 156 演算法提高 分分鐘的碎碎念

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

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

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