bzoj1096 倉庫建設 斜率優化

2021-09-13 14:36:42 字數 2228 閱讀 8410

dsy1096: [zjoi2007]倉庫建設

【問題描述】

l公司有

n個工廠,由高到底分布在一座山上。如圖所示,工廠

1在山頂,工廠

n在山腳。

由於這座山處於高原內陸地區(乾燥少雨),l公司一般把產品直接堆放在露天,以節省費用。突然有一天,

l公司的總裁

l先生接到氣象部門的**,被告知三天之後將有一場暴雨,於是

l先生決定緊急在某些工廠建立一些倉庫以免產品被淋壞。

由於地形的不同,在不同工廠建立倉庫的費用可能是不同的。第i個工廠目前已有成品

pi件,在第

i個工廠位置建立倉庫的費用是

ci。對於沒有建立倉庫的工廠,其產品應被運往其他的倉庫進行儲藏,而由於

l公司產品的對外銷售處設定在山腳的工廠

n,故產品只能往山下運(即只能運往編號更大的工廠的倉庫),當然運送產品也是需要費用的,假設一件產品運送

1個單位距離的費用是

1。假設建立的倉庫容量都都是足夠大的,可以容下所有的產品。

你將得到以下資料:

l 工廠i距離工廠1的距離xi(其中x1=0);

l 工廠i目前已有成品數量pi;

l 在工廠i建立倉庫的費用ci;

請你幫助l公司尋找乙個倉庫建設的方案,使得總的費用(建造費用

+運輸費用)最小。

【輸入檔案】

輸入檔案storage.in第一行包含乙個整數

n,表示工廠的個數。接下來

n行每行包含兩個整數

xi, pi, ci,

意義如題中所述。

【輸出檔案】

輸出檔案storage.out僅包含乙個整數,為可以找到最優方案的費用。

【樣例輸入】

30 5 10

5 3 100

9 6 10

【樣例輸出】

32【樣例說明】

在工廠1和工廠

3建立倉庫,建立費用為

10+10=20

,運輸費用為

(9-5)*3 = 12

,總費用32。

如果僅在工廠3建立倉庫,建立費用為

10,運輸費用為

(9-0)*5+(9-5)*3=57

,總費用

67,不如前者優。

【資料規模】

對於20%的資料, n ≤

500;

對於40%的資料, n ≤

10000

;對於100%的資料, n ≤

1000000

。 所有的xi, pi, ci均在

32位bzoj1帶符號整數以內,保證中間計算結果不超過64位帶符號整數。

1 #include2 #include3 #include4 #include5 #include6 #include7 #include8

using

namespace

std;

910 typedef long

long

ll;11

const ll n=1000010;12

ll n,dis[n],w[n],c[n],s[n],t[n],f[n],q[n];

1314

//f[i]=a[i]*x[j]+b[j]

15//

a[i]=-dis[i]

16//

x[j]=s[j]

17//

b[j]=f[j]+t[j]

18//

t[i]=dis[i]*s[i]+c[i]-t[i]

1920

double x(ll i)

21double y(ll i)

22double find_k(ll i,ll j)

2324

intmain()

2537 f[0]=0;q[0]=0

;38 ll ai,xj,bj,ti,j,l=0,r=0;39

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

4053 printf("

%lld\n

",f[n]);

54return0;

55 }

posted @

2016-09-20 21:44

攔路雨偏似雪花 閱讀(

...)

編輯收藏

bzoj1096 倉庫建設

l公司有n個工廠,由高到底分布在一座山上。如圖所示,工廠1在山頂,工廠n在山腳。由於這座山處於高原內陸地區 乾燥少雨 l公司一般把產品直接堆放在露天,以節省費用。突然有一天,l公司的總裁l先生接到氣象部門的 被告知三天之後將有一場暴雨,於是l先生決定緊急在某些工廠建立一些倉庫以免產品被淋壞。由於地形...

BZOJ1096 倉庫建設

目錄題目傳送門 也是一道比較經典的斜率優化 dp 很容易推出dp轉移方程 dp i min dp j cost i,j c i 重點就是怎麼快速的算出cost i,j 我們把cost的計算公式寫出來 cost i,j sum ip k x i x k x i sum ip k sum ip k x ...

倉庫建設(bzoj 1096)

l公司有n個工廠,由高到底分布在一座山上。如圖所示,工廠1在山頂,工廠n在山腳。由於這座山處於高原內 陸地區 乾燥少雨 l公司一般把產品直接堆放在露天,以節省費用。突然有一天,l公司的總裁l先生接到氣象 部門的 被告知三天之後將有一場暴雨,於是l先生決定緊急在某些工廠建立一些倉庫以免產品被淋壞。由於...