洛谷dp記錄

2022-09-09 20:15:35 字數 2939 閱讀 1511

線性dp,分開處理資料

#include

using

namespace std;

const

int n =

300010

;int m, s, t, dp[n]

, dpt[n]

;//分開計算跑步還是等待

intmain()

//能閃現就閃現

else

//不能閃現就都記錄下來

}for

(int i =

1; i <= t; i++)}

cout <<

"no"

<< endl

<< dpt[t]

<< endl;

return0;

}

揹包dp,注意限制條件,注意初始化啊…

#include

using

namespace std;

intmain()

}}cout << f[n]

[m]% mod << endl;

return0;

}

二進位制分解,第一次遇到這樣轉化多重揹包到01揹包

#include

#include

using

namespace std;

int nx, ny, ex, ey, n, f[

1010];

int v[

10005

], w[

10005

], a[

10005];

int tp, co[

1000005

], vi[

1000005];

//盡可能開大,不要把空間開爆了

inline

void

pre()}

}}intmain()

pre();

//二進位制拆分

for(

int i =

1; i <= tp; i++

)printf

("%d"

, f[t]);

return0;

}

這個線性dp就很迷,第一次見…

啊啊啊我到底為啥都是第一次見啊

#include

#include

#include

#include

#include

#define maxn 20010

#define int long long

using

namespace std;

int n;

int dp[maxn][2

],dis[2]

[2],l[maxn]

,r[maxn]

;//dis[0][0] left->left

//dis[0][1] left->right

//dis[1][0] right->left

//dis[1][1] right->right

int ans;

signed

main()

printf

("%lld\n"

,min

(dp[n+1]

[0],dp[n+1]

[1])

-2);

return0;

}

我巨菜啊啊啊啊**,石子歸併在直線上剛會寫,搞個圓形咋寫啊

看了好多篇題解,發現都好難,按照我的理解wa了乙個晚上…

後來才發現dp陣列沒初始化啊啊啊啊啊

#include

using

namespace std;

const

int n =

1000

;int n, p[n]

, dp[n]

[n], dpt[n]

[n];

int sum[n]

;const

int inf =

0x3f3f3f3f

;int

main()

//更新字首和

// cout << endl;

memset

(dp,0,

sizeof

(dp));

memset

(dpt, inf,

sizeof

(dpt));

for(

int i =

1; i <= n; i++

) dpt[i]

[i]=0;

for(

int i = n -

1; i >=

1; i--

)for

(int j = i +

1; j <= n; j++

)for

(int k = i; k <= j -

1; k++

)//cout << dp[1][n] << "\t" << dpt[1][n] << endl;

if(imax < dp[1]

[n])

imax = dp[1]

[n];

if(imin > dpt[1]

[n])

imin = dpt[1]

[n];

} cout << imin << endl

<< imax << endl;

return0;

}

洛谷狀壓DP做題記錄

題面確實是狀壓的入門題 用dp i j 表示以i結尾,狀態為j時的方案數,如下 includeusing namespace std const int maxn 1e6 7 const int n 20 int n,k ints maxn long long dp n maxn long long...

洛谷P1854 線性DP 路徑記錄

題意 把花放在花瓶裡,每個花對花瓶有不同的val值,輸出最大的val和方案 思路 很好想的dp,dp i j max dp i 1 k a i j dp在路徑記錄的時候,一般都開和狀態一樣的陣列,path i j 表示使得第i朵花放在第j個花瓶時候最大的上一層放在第幾個花瓶,遞迴輸出即可 inclu...

洛谷OI記錄

2018 12 06 07 37 註冊了洛谷 2018 12 06 灰名 2018 12 07 07 43 成為了小牛。2018 12 08 08 25 成為了小犇。2018 12 08 09 39 第一題黑題祭 2018 12 09 09 05 成為了中牛。2018 12 12 07 55 ak新...