帶權中位數 科研先行 research

2021-05-26 23:13:01 字數 1932 閱讀 7361

科研先行(research)

輸入檔案:research.in

輸出檔案:research.out

【問題描述】

neyc綠化破壞電信事件,給領導層造成了很大的麻煩。為避免類似事件發生,領導意識到,做任何事情,科研必須先行。為此,neyc專門成立了研究所,對neyc的整體建設進行研究設計。研究所計畫從全國各地邀請相關專家集中研討。因為每個地區邀請的人數不同,出於節約經費的問題,neyc研究所希望集中討論的時候能盡量花費較少的費用。於是,就出現了乙個集中地點的選擇問題。

假設被邀請參與研究人員所在的地區都在一條直線上,並知道每個地區與neyc的距離和該地被邀請人員的數目(假設neyc在最左端)。請你程式設計幫助他們確定在哪個地區集中研討可以使所有被邀請的人員集中到該地區的費用總和最小。

【輸入檔案】輸入檔案每一行描述乙個地區的資訊(地區數<=5000);

對於每一行,首先是該地區被邀請的人員數目,緊跟著是這個地區相對於neyc的距離,最後是該地區的名稱。(技術人員數<=100,地區的相對距離<=10^31,地區名稱長度<=20,資料保證有唯一的解)。

【輸出檔案】

輸出檔案只需一行,即研究所確定的集中研討的地區名稱。

【樣例輸入】

7 9289 shengyan

5 8523 beijing

3 5184 guilin

8 2213 chongqing

10 0 wuhan

【樣例輸出】

chongqing

帶權中位數+字串的排序。

type

re=record

num:longint;

dis:ansistring;

name:string;

end;

var n:longint;

t:array[1..5000]of re;

procedure init;

begin

assign(input,'research.in');

assign(output,'research.out');

reset(input);

rewrite(output);

end;

procedure terminate;

begin

close(input); close(output);

halt;

end;

procedure qsort(s_,t_:longint);

var i,j:longint;

x,tem:re;

begin

x:=t[s_];

i:=s_; j:=t_;

repeat

while (i=t[i].dis))or(length(x.dis)>length(t[i].dis))) do inc(i);

if i' 'do

begin

t[n].dis:=t[n].dis+ch;

read(ch);

end;

while not eoln do

begin

read(ch);

t[n].name:=t[n].name+ch;

end;

readln;

end;

qsort(1,n);

tot:=tot div 2;

tot_:=0;

for i:=1 to n do

begin

tot_:=tot_+t[i].num;

if tot_>tot then break;

end;

writeln(t[i].name);

end;

begin

init;

main;

terminate;

end.

帶權中位數

話說在3085年,外星人打算來入侵地球,這個訊息被我國的情報部門秘密截獲,於是便打算聯絡世界各個國家,一 起研究商量對策。由於每個國家所需派的技術員人數不同,所以目前無法決定到底要在哪個國家設定個研究所進行 研究,幸運的是所有國家都在一條直線上,現在知道每個國家與我國的距離和該國的研究員人數。請你為...

中位數及帶權中位數問題

資訊學競賽總是時不時與數學產生微妙的關係,中位數及帶權中位數問題有時常常成為解題的關鍵,今日有時間,所以梳理一下。先從一到簡單的題看起 士兵站隊問題 在乙個劃分成網格的操場上,n個士兵散亂地站在網格點上。網格點由整數座標 x,y 表示。士兵們可以沿網格邊上 下 左 右移動一步,但在同一時刻任一網格點...

中位數及帶權中位數題集

codevs 3625 1 include 2 using namespace std 3int x 11111 y 11111 4 intmain 5code codeforces round 512 div.2,based on technocup 2019 elimination round ...