天然氣井(洛谷P1708題題解,C 語言描述)

2021-10-19 12:15:28 字數 1352 閱讀 2494

p1708題目鏈結

這題挺有意思的,看起來是乙個複雜的優化問題,其實很水。

主要是題給了很多限定條件,比如中轉站和天然氣井的個數相等,最後還是一一對應的,求得距離只是走橫向或縱向的……

做個比方吧,假設有3個天然氣井(a、b、c)和3個中轉站(d、e、f),由於一一對應,所以假設隨便對應。

d is

tanc

ex=(

xa−x

d)+(

xb−x

e)+(

xc−x

f)di

stan

cey=

(ya−

yd)+

(yb−

ye)+

(yc−

yf)d

ista

nce=

∣dis

tanc

ex∣+

∣dis

tanc

ey∣distance_=(x_-x)+(x_-x_)+(x_-x_)\\distance_=(y_-y)+(y_-y_)+(y_-y_)\\distance=|distance_|+|distance_|

distan

cex​

=(xa

​−xd

)+(x

b​−x

e​)+

(xc​

−xf​

)dis

tanc

ey​=

(ya​

−yd)

+(yb

​−ye

​)+(

yc​−

yf​)

dist

ance

=∣di

stan

cex​

∣+∣d

ista

ncey

​∣由於加減法具有結合律,所以說隨便換,括號也可以拆。

也就是說,只需簡單的將天然氣井的x求和,再將中轉站的x求和,二者作差取絕對值,y同理,絕對值相加就是答案。

有乙個小坑是,資料會出現爆int的情況,應該用long long。

#include

using

namespace std;

intmain()

for(

int i =

0; i < n; i++

) cout <<

abs(x)

+abs

(y)<< endl;

return0;

}

P1708 天然氣井

題目 p1708 天然氣井 題目描述 mary試圖控制成都的天然氣市場。專家已經標示出了最好的天然氣井和中轉站在成都的地圖。現在需要將中轉站和天然氣井連線起來。每個中轉站必須被連線到正好乙個鑽油井,反之亦然。mary特別指名,建設的天然氣管道必須從某個天然氣井開始,向南或者向東建設。mary想知道怎...

洛谷P5057簡單題 題解

這是我a的第一道省選題 可它的難度是普及 提高 傳送門題目大意 給定乙個初始為0的序列,可以讓某一段區間的數字反轉,也可以詢問某個點的值 學過樹狀陣列的同學可能看出來了,這是一道樹狀陣列區間修改,單點查詢的變式,還沒有學過的同學可以看看這篇部落格樹狀陣列 路人 你這不是騙閱讀量嗎 我 略略略略略略略...

洛谷比賽 P5011 水 造題 題解

暴力就是o k n o kn 吧,不過n n非常之大,有101 0610 106 高精可怕.jpg 但是我們發現,對於求期望,那麼就是概率 權值,所以我們可以先求出每種動作的貢獻 每種動作出現在某個位置的概率為1kk 1 貢獻為它的val val,總共有n n個可以出現的位置,所以貢獻為 i 0k ...