CF374 C 動態規劃

2021-08-04 23:48:30 字數 891 閱讀 8016

題目看上去感覺像是dijstra,但是不是最短路,而是在實踐允許的範圍內選擇最多的點去走完從1到n的路,這個想到的是動態規劃,以邊為核心,一條邊一條邊的掃過,如果這條邊對應的起點和終點連線上之後,對於從1到終點來說是有利的就加上那種,我還不是很理解,只是把標程看懂自己敲了一遍而已。

#include

using

namespace

std;

#include

const

int inf = 0x3f3f3f;//特別大的數,記下來

const

int maxn = 5005;

int dp[maxn][maxn], pre[maxn][maxn];

//dp[i][j]表示經過i個點,從1到j,其中點的個數包括j

struct edge

eg[maxn];

int n, m, t;

stack

reu;

int main()

}if (dp[i][n] <= t)

pos = i;//更新一次答案

}cout

<< pos << endl;

int ans = n;

while (ans != -1)

while (!reu.empty())

cout

<< endl;

}return

0;}

希望日後可以對dp有更深的理解!

CF183D T shirt(動態規劃)

洛谷 codeforceso n2m o n 2m 的暴力懶得寫了,比較容易,可以自己想想。做法是這樣的,首先我們發現乙個結論 對於某個顏色 我們就把尺寸當成染色問題好了 如果你拿的個數越多,那麼它對於答案的貢獻就越來越少。這個東西是顯然的,所以這個函式是乙個凸函式。那麼這樣子就可以貪心,每次選擇對...

CF10D LCIS 動態規劃

鏈結 給出兩個長度分別為n,m n,m的數列,求最長上公升公共子串行的長度 設階段為 i,j i,j 表示第乙個串前i i個元素與第二個串前j j個元素 lci slci s根據lcs lcs的轉移方程,初步得出 if ai bi if a i bi dp i j dp i 1 j 1 1dp i,...

CF183D T shirt(動態規劃,貪心)

洛谷 codeforces o n 2m 的暴力懶得寫了,比較容易,可以自己想想。做法是這樣的,首先我們發現乙個結論 對於某個顏色 我們就把尺寸當成染色問題好了 如果你拿的個數越多,那麼它對於答案的貢獻就越來越少。這個東西是顯然的,所以這個函式是乙個凸函式。那麼這樣子就可以貪心,每次選擇對於答案貢獻...