P2514 HAOI2010 工廠選址 貪心

2021-09-24 23:48:04 字數 1211 閱讀 5606

有乙個廠,需要b

bb噸煤炭,然後第j

jj個礦運到該廠的運費為c0,

jc_

c0,j

​,執行總費用為運費之和加上h

0h_0

h0​現在在1∼n

1\sim n

1∼n挑選乙個建乙個新廠,其餘的煤礦都運到這個廠,第j

jj個礦運到該廠的運費為ci,

jc_

ci,j

​,執行費用為運費之和加上h

ih_i

hi​求最小費用。

很簡單的一道貪心題,顯然我們將最優的b

bb噸運到舊廠。

我們列舉建立在哪個廠,然後對於每個礦將c0,

j−ci

,j

c_-c_

c0,j​−

ci,j

​進行從小到大排序,然後將最小的b

bb噸運入舊廠就行了。

#include

#include

#include

using

namespace std;

const

int n=

55,m=

55000

;struct noded[m]

;int m,b,h,n,a[m]

,h[n]

,c[n]

[m],ans,mins=

2147483647

,p;bool

cmp(node x,node y)

intmain()

, ans+

=c[i]

[j]*a[j]

;sort

(d+1

,d+1

+m,cmp)

;int k=b;

for(

int j=

1;j<=m&&k;j++)if

(k>=d[j]

.num)

k-=d[j]

.num,ans+

=d[j]

.w*d[j]

.num;

else

if(k.num)

ans+

=k*d[j]

.w,k=0;

if(ansmins=ans,p=i;

}printf

("%d\n%d"

,p,mins)

;}

HAOI2010 工廠選址題解

某地區有m座煤礦,其中第i號礦每年產量為ai噸,現有火力發電廠乙個,每年需用煤b噸,每年執行的固定費用 包括折舊費,不包括煤的運費 為h元,每噸原煤從第i號礦運到原有發電廠的運費為ci0 i 1,2,m 現規劃新建乙個發電廠,m座煤礦每年開採的原煤將全部供給這兩座發電廠。現有n個備選的廠址。若在第j...

bzoj 2426 HAOI2010 工廠選址

某地區有m座煤礦,其中第i號礦每年產量為ai噸,現有火力發電廠乙個,每年需用煤b噸,每年執行的固定費用 包括折舊費,不包括煤的運費 為h元,每噸原煤從第i號礦運到原有發電廠的運費為ci0 i 1,2,m 現規劃新建乙個發電廠,m座煤礦每年開採的原煤將全部供給這兩座發電廠。現有n個備選的廠址。若在第j...

P2515 HAOI2010 軟體安裝

傻了。思路 scc 縮點,樹上揹包。提交 2次 無語。建邊建錯了 思路 關係可能會形成環,而整個環是乙個整體 要選就選環上所有點,否則整個不選 所以我們先把所有的環縮點,然後便形成了一棵樹 乙個點不可能有兩個父親 然後跑樹上揹包。include include using namespace std...