線性DP 274 移動服務

2021-09-28 22:46:40 字數 904 閱讀 9443

線性dp,

肯定以任務為階段

3個人的位置為附屬條件

其中乙個人的位置一定是任務完成的地點,即省去一維

o( n*l^3)

#include using namespace std;

typedef long long ll;

//typedef __int128 ll;

//typedef unsigned long long ull;

//#define f first

//#define s second

typedef long double ld;

typedef pairpii;

typedef pairpll;

typedef pairpdd;

const ld pi=acos(-1);

const ld eps=1e-9;

//unordered_mapmp;

#define ls (o<<1)

#define rs (o<<1|1)

#define pb push_back

const int seed=131;

const int m = 1e5+7;

int c[207][207];

int p[1007];

int dp[1007][207][207];//f i,j,k 完成第i個服務,三人分別在 j、k、p[i]是的最小花費

int main()

int ans=1e9;

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

for(int j=1;j<=l;j++)

ans=min(ans,dp[n][i][j]);

cout

}

AcWing 274 移動服務 線性DP

乙個公司有三個移動服務員,最初分別在位置1,2,3處。如果某個位置 用乙個整數表示 有乙個請求,那麼公司必須指派某名員工趕到那個地方去。某一時刻只有乙個員工能移動,且不允許在同樣的位置出現兩個員工。從 p 到 q 移動乙個員工,需要花費 c p,q 這個函式不一定對稱,但保證 c p,p 0。給出n...

acwing 274 移動服務(線性dp)

乙個公司有三個移動服務員,最初分別在位置1,2,3處。如果某個位置 用乙個整數表示 有乙個請求,那麼公司必須指派某名員工趕到那個地方去。某一時刻只有乙個員工能移動,且不允許在同樣的位置出現兩個員工。從 p 到 q 移動乙個員工,需要花費 c p,q 這個函式不一定對稱,但保證 c p,p 0。給出n...

線性dp 區間dp

1 尼克的任務 額一道挺水的題,愣是做了幾個小時 動態規劃大致的思路還是找乙個轉移 換個詞就是影響 我們可以明顯看出本題的規則 空暇時,一遇到任務必須挑乙個接 求1 n時間內最大空暇時間 所以將任務排序是必要的,兩個關鍵字 再來想象一下當我做到第i 個任務時,我在 st i st i t i 1 時...