bzoj 2937 Poi2000 建造釀酒廠

2021-07-11 06:16:39 字數 1325 閱讀 9618

time limit: 1 sec  

memory limit: 128 mb

submit: 67  

solved: 23 [

submit][

status][

discuss]

abstinence

島上的居民很喜歡飲用純釀的啤酒。迄今為止,他們都是從波蘭進口啤酒,自己不生產。但今年島上的乙個城市決定建造乙個釀酒廠,供給其他城市的啤酒需求。

島上所有的城市都環繞在海岸線上,相鄰兩城之間用高速公路連線(也就是說,它們近似分布在乙個圓上)。對於建造釀酒廠的城市來說,它將得到的資訊是其餘城市對於啤酒的日需求量,並且還有一張記載著相鄰兩城市之間距離的**。經過計算,每一桶啤酒每英里的運費為一泰勒。每天的成本為所有城市的運費之和,前提是每個城市的日需求量必須得到滿足。可以看出,日成本與釀酒廠建造位置是息息相關的。我們的問題是:為投資者找出最理想的釀酒廠位置,使得日成本最小。

第一行包含乙個數

n,為城市數目,

5<=n<=10000

(我們假設城市已經沿著海邊高速公路順序編號,為1,

2,……,

n,對於

1<=i,編號為

i的城市的下乙個城市為

i+1,而

n號城市的下乙個城市為

1號)。接下來的

n行每行包含兩個數字。第

i+1行的兩個數字為,,

表示的是

i號城市的日需求量,

則表示i

1000000

英里,所有城市啤酒的日需求量不大於

1000。

僅包含乙個數,為所求最小的日成本。 6

1 22 3

1 25 2

1 10

2 341

#include#include#include#includeusing namespace std;

long long n,m,a[20003],b[20003];

long long sum[20003],d[20003];

int main()

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

long long now=0;

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

now+=a[i]*min(d[i],d[n+1]-d[i]);

long long x=1;

while (d[x+1]now)

ans=min(ans,now),k=i;

}

printf("%lld\n",ans);

return 0;

}

BZOJ2938 Poi2000 病毒 AC自動機

題目鏈結 發現乙個合法的串一定不會與病毒串匹配 如果讓它無限長,就說明一直匹配不到病毒串 如果找到乙個不經過病毒點的環,那麼就存在無限長度的合法串 ac自動機建完圖後,再用dfs判斷即可 如下 include include include include define n 30050 using ...

POI2000 迷宮的牆

迷宮的牆 給出一棵有 n 1 個節點樹,每個節點都有一種顏色,一共只有三種顏色,每個非葉子節點的出度為 3 每個節點都指向編號比自己大的節點。樹以 1 號節點為根,樹的所有葉子節點都指向節點 n 而且每個節點的三條邊是有順序的,編號為 1,2,3 針對每一條 1 to n 的路徑,我們可以用一次遍歷...

CJOJ2482 POI2000 促銷活動

活動遵守以下規則 乙個消費者 想參加 活動的消費者,在賬單下記下他自己所付的費用,他個人的詳細情況,然後將賬單放入乙個特殊的投票箱。當每天 活動結束時,從投票箱中抽出兩張賬單 第一張被抽出的賬單是金額最大的賬單。然後被抽出的是金額最小的賬單,對於付了金額最大賬單的這位消費者,將得到一定數目的獎金,其...