NOIP提高組 運輸妹子

2021-07-22 16:59:10 字數 2117 閱讀 5093

小軒軒是一位非同一般的的大農(lao)場(si)主(ji),他有一大片非同一般的農田,並且坐落在一條公路旁(可以認為是數軸),在他的農田裡種的東西也非同一般——不是什麼水稻小麥,而是妹子。

在小軒軒的細心培育下,他的大片農田都要結出妹子啦!但是他的農田分布實在是太廣闊了,他擔心自己的妹子會令路過的人想入非非,於是他想要把所有農田上的妹子都集中到乙個倉庫裡面,貯存起來。可是妹子太多,他叫來了一輛卡車,這輛卡車剛好可以裝滿乙個農田的妹子,並且在滿載的情況下,運滿滿一卡車妹子走1公尺的費用是1元。由於小軒軒技術精湛,他的每個農田產量都是一樣的。即把乙個農田的妹子都運到倉庫費用為農田與倉庫座標差值的絕對值。理想很美好,但現實很殘酷——小軒軒還沒有想好在什麼位置搭建他的倉庫,而且他的運輸費用是有限的。

請你幫忙計算一下,在什麼位置搭建倉庫,使得小軒軒能收穫的妹子最多。(倉庫的位置可與農田的位置重合,並且在公路長度範圍內)。

對於 30% 的資料,n≤1000,l≤10000。

對於 60% 的資料,n≤10000,l≤1000000。

對於 100% 的資料,n≤100000,l≤1000000000,w≤2000000000000000。

看到資料範圍首先要有的乙個思想就是二分答案,顯然求最值是滿足二分性質的。其次還要發現乙個性質,能夠被收穫的農田一定是連續的,不存在有斷開的答案會更優。計算發現,條件就是求所有點到中點的距離和要小於等於要求,乙個個算一定會超時,如何o(1)算出?顯然對於任意兩個在中點異側的點,代價就是兩點座標差,那麼把中點兩側的座標和都算出來之後計算差值。

var

a:array[0..100005] of longint;

f:array[0..100005] of int64;

n,m,i,ans,l,r,mid:longint;

w,t:int64;

procedure

qsort

(l,r:longint);

var i,j,mid:longint;

begin

i:=l;j:=r;

mid:=a[(i+j)div

2]; repeat

while a[i]do inc(i);

while middo dec(j);

if i<=j then

begin

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

inc(i); dec(j);

end;

until i>j;

if ithen qsort(i,r);

if lthen qsort(l,j);

end;

function

pd(x:longint):boolean;

var i,j,k,l:longint;

begin

for i:=1

to n-x+1

dobegin

j:=i+x-1; t:=0;

k:=i+(j-i)div

2;l:=j-(j-i)div

2; if (j-i)mod

2=1then t:=t+(f[j]-f[l-1])-(f[k]-f[i-1])

else t:=t+(f[j]-f[l])-(f[k-1]-f[i-1]);

if t<=w then

exit(true);

end;

exit(false);

end;

begin

readln(n,m,w);

for i:=1

to n do readln(a[i]);

qsort(1,n);

for i:=1

to n do f[i]:=f[i-1]+a[i];

l:=1;r:=n;

while ldo

begin

mid:=(l+r) div

2; if pd(mid) then

begin

ans:=mid;

l:=mid+1;

endelse r:=mid-1;

end;

if pd(l) then ans:=l;

writeln(ans);

end.

NOIP2016提高A組模擬9 9 運輸妹子

小軒軒是一位非同一般的的大農 lao 場 si 主 ji 他有一大片非同一般的農田,並且坐落在一條公路旁 可以認為是數軸 在他的農田裡種的東西也非同一般 不是什麼水稻小麥,而是妹子。在小軒軒的細心培育下,他的大片農田都要結出妹子啦!但是他的農田分布實在是太廣闊了,他擔心自己的妹子會令路過的人想入非非...

NOIP2016提高A組模擬9 9 運輸妹子

description 小軒軒是一位非同一般的的大農 lao 場 si 主 ji 他有一大片非同一般的農田,並且坐落在一條公路旁 可以認為是數軸 在他的農田裡種的東西也非同一般 不是什麼水稻小麥,而是妹子。在小軒軒的細心培育下,他的大片農田都要結出妹子啦!但是他的農田分布實在是太廣闊了,他擔心自己的...

NOIP2016提高A組模擬9 9 運輸妹子

description 小軒軒是一位非同一般的的大農 lao 場 si 主 ji 他有一大片非同一般的農田,並且坐落在一條公路旁 可以認為是數軸 在他的農田裡種的東西也非同一般 不是什麼水稻小麥,而是妹子。在小軒軒的細心培育下,他的大片農田都要結出妹子啦!但是他的農田分布實在是太廣闊了,他擔心自己的...