玩著玩著,就到了凌晨5點,這下完蛋了,早上8點還有課呢!!! 於是趕緊倒下去睡覺了(玩了這麼久遊戲哪可能說睡著就睡著啊),果然,第二天早上上網課卡迪亞睡著了,更巧的是,還被他媽媽逮了個正著,媽媽斥責道:還睡覺?你是啥都會了嗎?來,給你寫一道題。
題目說:乙個平面中有n個點,保證點不重合,任意三點不共線,並且這n個點構成的一定是凸邊形,這些點按順時針順序從1到n編號。現在告訴你1到n每個點的座標(xi) (yi)。如果有兩個點p1,p2,其中p1=(x1,y1),p2=(x2,y2) ,定義這兩點的特殊距離d(p1,p2)=|x1−x2|+|y1−y2|,現在再告訴你需要在這n個點中任意選擇k(k≥3)個點,請你找出k個點構成的凸邊形在特殊距離公式下的最大周長,其中周長c=d(p1,p2)+d(p2,p3)+…+d(pk,p1)。
為了懲罰你,媽媽讓你把所有可能的k的結果都求出來,即求出所有k在[3~n]取值時的答案c。
注意:k個點構成的一定要是凸邊形,且邊不能夠相交,邊也必須是直線。下圖中左邊的圖是正確的圖,中間的圖邊相交了,右邊的圖邊不是直線
以下這樣的圖形就是凸邊形
以下這樣的圖形就不是凸邊形
第一行乙個整數表示點的數量n (3≤n≤3⋅1e5)
之後n行,每行兩個整數,分別表示第i個點的座標xi,yi (−1e8≤xi,yi≤1e8)
ps:點集是凸的,所有點都是不同的,點是按順時針順序排列的,不會有三個共線點。
output
共一行,分別輸出k的取值從3到n時的的每乙個結果,每個數之間有乙個空格,最後乙個數後沒有空格。
sample input
42 4
4 33 0
1 3sample output
12 14
hint
k=3時最大的周長是選2 3 4點。c=4+5+3=12
k=4時最大的周長是選1 2 3 4點 c=3+4+5+2=14
#include
using
namespace std;
int x[
300005];
int y[
300005];
intmain()
int c=0;
for(
int i=
1;i<=n;i++
) cout <<
2*c ;
c=2*
(max_x-min_x)+2
*(max_y-min_y)
;for
(int i=
4;i<=n;i++
) cout << endl ;
return0;
}
獎勵的懲罰
這個標題看似矛盾 獎勵會帶來什麼懲罰。這就是 獎勵的懲罰 這本書 的,獎勵和懲罰只是乙個硬幣的兩個不同面 而且這個硬幣還不值很麼錢 這個硬幣就是外部刺激。當教育小孩子的時候,當領導下屬的時候,外部刺激是經常使用而且感覺 有效 的方法。這本書幫助認清了我們對於平靜現實下的隱隱不 安的 彼得.斯科爾特斯...
2512 小明的懲罰
time limit 1 sec memory limit 128 mb submit 1047 solved 789 submit status web board 小明和小慧吵架了,小明想見小慧並請求得到原諒。小慧給了小明兩個數m和n 1 輸入m和n 相鄰兩個素數差的最大值 10 306 10和...
沒經驗的懲罰
無論什麼樣的會議,作為專案經理我都應該參加的,雖然我沒有發言權,但是我應該了解整個的專案程序。不能讓別人的意志和決定來影響自己,這是最起碼的。本來我也是想參加的,奈何我們專案組的主力,最具有發言權的他都說不想參加 搞的我也不知道應該參加不參加。說實話,第一次當專案經理,感覺真的好苦逼,尤其是這種大專...