YL杯超級籃球賽 紀中 1325

2021-07-14 13:12:56 字數 2363 閱讀 2025

題目大意

一年一度的高一yl杯超級籃球賽開賽了。當然,所謂超級,意思是參賽人數可能多餘5人。小三對這項籃球非常感興趣,所以一場都沒有落下。每個中午都準時守侯在籃球場看比賽。經過乙個星期的研究,小三終於對籃球的技戰術找到了一絲絲感覺了。他發現打yl杯的每個班都有一套相似的進攻戰術:   

1 :控球後衛帶球到前場,找到乙個最佳攻擊點 ( x , y )   

2 :所有除控衛以外的隊員都從各自的當前位置迅速向 ( x , y ) 移動   

3 :控球後衛根據場上情況組織進攻   

這個戰術對於一般情況是非常奏效的,但是每個隊員畢竟不像小三一樣每天精力過剩,每個隊員都有乙個疲勞指數w,顯然對於每個隊員的移動需要消耗一些能量。   

假設乙個隊員從位置 ( x1 , y1 ) 移動到 ( x , y )的能量消耗為 w * (abs ( x - x1 ) +abs ( y - y1 ) ), 這裡abs為絕對值函式。那麼我們希望整個隊伍一次進攻的能量消耗當然是越少越好。顯然能量消耗的多少直接取決於控球後衛對於攻擊點 ( x , y )的選擇。  

因為參賽人數眾多,所以小三希望你能編寫乙個程式,即幫他找出某個時刻的最佳攻擊點。

分析 看了題解,是帶權中位數,但不懂。

**

type

arr=record

x,w:longint;

end;

arry=array[1..60000] of arr;

var x,y:arry;

i,j,k:longint;

n:longint;

max:longint;

procedure qsort(var a:arry; l,r:longint);

var i,j,k:longint;

mid:longint;

temp:arr;

begin

if l>=r then exit;

i:=l; j:=r;

mid:=a[(l+r) div 2].w;

repeat

while a[i].wmid do j:=j-1;

if i<=j

then

begin

temp:=a[i]; a[i]:=a[j]; a[j]:=temp;

i:=i+1; j:=j-1;

end;

until i>j;

qsort(a,l,j);

qsort(a,i,r);

end;

procedure init;

var i,j,k:longint;

begin

readln(n);

max:=0;

for i:=1 to n do

begin

read(x[i].x);

y[i].x:=x[i].x;

max:=max+y[i].x;

end;

for i:=1 to n do

readln(x[i].w,y[i].w);

end;

procedure main;

var i,j,k:longint;

jj:longint;

ans:real;

begin

qsort(x,1,n);

jj:=0; j:=0;

for i:=1 to n do

begin

jj:=jj+x[i].x;

if jj>max/2

then

begin

j:=i;

break;

end;

end;

ans:=0;

for i:=1 to n do

begin

if i=j then continue;

ans:=ans+x[i].x*abs(x[i].w-x[j].w);

end;

qsort(y,1,n);

jj:=0; j:=0;

for i:=1 to n do

begin

jj:=jj+y[i].x;

if jj>max/2

then

begin

j:=i;

break;

end;

end;

for i:=1 to n do

begin

if i=j then continue;

ans:=ans+y[i].x*abs(y[i].w-y[j].w);

end;

write(ans:0:2);

end;

begin

init;

main;

end.

YL杯超級籃球賽 紀中1325 帶權中位數

一年一度的高一yl杯超級籃球賽開賽了。當然,所謂超級,意思是參賽人數可能多餘5人。小三對這項籃球非常感興趣,所以一場都沒有落下。每個中午都準時守侯在籃球場看比賽。經過乙個星期的研究,小三終於對籃球的技戰術找到了一絲絲感覺了。他發現打yl杯的每個班都有一套相似的進攻戰術 控球後衛帶球到前場,找到乙個最...

YL杯超級籃球賽

operatorname jzoj13 25一年一度的高一yl杯超級籃球賽開賽了。當然,所謂超級,意思是參賽人數可能多餘 5 55 人。小三對這項籃球非常感興趣,所以一場都沒有落下。每個中午都準時守侯在籃球場看比賽。經過乙個星期的研究,小三終於對籃球的技戰術找到了一絲絲感覺了。他發現打yl杯的每個班...

YL杯超級籃球賽 Standard IO

題意 description 一年一度的高一yl杯超級籃球賽開賽了。當然,所謂超級,意思是參賽人數可能多餘5人。小三對這項籃球非常感興趣,所以一場都沒有落下。每個中午都準時守侯在籃球場看比賽。經過乙個星期的研究,小三終於對籃球的技戰術找到了一絲絲感覺了。他發現打yl杯的每個班都有一套相似的進攻戰術 ...