DP 從零開始的動態規劃

2022-08-21 20:51:17 字數 2029 閱讀 3026

從現在開始學習dp

來乙個入門的

時間限制: 1000 ms         記憶體限制: 65536 kb

觀察下面的數字金字塔。寫乙個程式查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以從當前點走到左下方的點也可以到達右下方的點。

在上面的樣例中,從13到8到26到15到24的路徑產生了最大的和86。

第乙個行包含r(1≤ r≤1000),表示行的數目。

後面每行為這個數字金字塔特定行包含的整數。

所有的被**的整數是非負的且不大於100。

單獨的一行,包含那個可能得到的最大的和。

5

13 11 8

12 7 26

6 14 15 8

12 7 13 24 11

86

#include#define re register

#define ll long long

using

namespace

std;

template

inline void read(t &x)

intn;

int a[1011][1011

]; int f[1011][1011

]; int

main()

view code

乙個特別的單行街道在每公里處有乙個汽車站。顧客根據他們乘坐汽車的公里使來付費。例如樣例的第一行就是乙個費用的單子。

沒有一輛車子行駛超過10公里,乙個顧客打算行駛n公里(1<=n<=100),它可以通過無限次的換車來完成旅程。最後要求費用最少。

第一行十個整數分別表示行走1到10公里的費用(<=500)。注意這些數並無實際的經濟意義,即行駛10公里費用可能比行駛一公里少。

第二行乙個整數n表示,旅客的總路程數。

僅乙個整數表示最少費用。

12 21 31 40 49 58 69 79 90 101

15147

#include#define re register

#define ll long long

using

namespace

std;

template

inline void read(t &x)

const

int inf=10101011

;int a[101

];int f[10101

];int

main()

cout

<

return0;

}

view code

地面上有一些格仔,每個格仔上面都有金塊,但不同格仔上的金塊有不同的價值,你一次可以跳s至t步(2≤s<t≤10)。例如s=2,t=4,你就可以跳2步、3步或4步。你從第乙個格仔起跳,必須跳到最後乙個格仔上,請你輸出最多可以獲得的金塊的總價值。如果不能到達n,則輸出0.

第一行是格仔個數n(n<1000);第二行是s和t,保證t大於s(2≤s<t≤10);

第三行是每個格仔上的金塊價值pi(0

輸出最多可以獲得的金塊的總價值。

10 

2 3

4 5 8 2 8 3 6 7 2 9

36

#include#define re register

#define ll long long

using

namespace

std;

template

inline void read(t &x)

int a[10101

];int f[10101

];int

main()

view code

Re 從零開始的動態規劃

有的人,天天在說自己打cf太菜,要學線性規劃,卻連第一步都沒邁出去,不會吧,不會吧,不會那個人就是你吧 f 跑來寫部落格的時間都可以用來學幾個點 咳咳咳言歸正傳,這是我第一篇部落格,用來記錄我假期演算法的學習之路,先立下flag,以後我要每天一更!也許這樣自己就不會咕咕咕 步驟 階段 狀態 決策 策...

Django 從零開始

方法1 pip install django 1.6.5 測試是否安裝成功 python import django 1,6,5,final 0 django 使用了 python 標準的 distutils 安裝法,在 linux 平台可能包括如下步驟 tar xzvf django tar.gz...

HTML從零開始

一 標籤 1.使用小寫 2.開始標籤常被稱為開放標籤 opening tag 結束標籤常稱為閉合標籤 closing tag 有效 示例 i reallystrong mean thatem 無效 示例 invalid i reallyem mean thatstrong 二 屬性 1.開始標籤包含...