CSU 2136 湖南多校對抗賽 I

2022-05-21 03:56:10 字數 1676 閱讀 3744

submit page

summary

time limit: 1 sec     memory limit: 128 mb     submitted: 55     solved: 11    

wells最近迷上了一款攻城的策略遊戲,點就去就能當大元帥統帥三軍!

遊戲介面主要是乙個平面(座標可以為浮點數),然而wells發現這遊戲是個**,其實只給了乙個軍隊。

wells初始有乙個軍隊,僅包含n個士兵,每個士兵有乙個初始位置(x,y)和乙個勞累指數wi,每個隊員可以移動,顯然對於每個隊員的移動是需要消耗一些體力的,若第i個隊員從位置(x1,y1)移動到(x2,y2)的體力消耗為wi*(|x2-x1|+|y2-y1|)。

wells希望先將隊伍集合起來,且希望整個隊伍一次集合的體力消耗越少越好。顯然能量消耗的多少直接取決與wells對於會和點(x,y)的選擇,然而wells太懶了,希望你幫他找出某個時刻的最佳會和點。

對於每組資料:

第一行:乙個整數n,表示士兵數目。

第二行:一共n個整數,其中的第i個數wi表示第i個隊員的勞累指數。(

n<=106

)'>(n<=106)

(n<=106)

接下來n行:每一行兩個整數x和y,表示第i個士兵的當前的橫座標和縱座標。(−10

9<=x,

y<=109

)'>(−109<=x,y<=109)

(−109<=x,y<=109)

乙個實數。表示所有隊員集合到最佳攻擊位置的體力消耗總和,答案保留兩位小數。

1

10 0

0.00
wells

題意:帶權中位數

#include#include

#include

#include

#include

using

namespace

std;

const

int maxn =1e6+5

;struct

data ;

data num[maxn];

intn,i,j,k;

double

sum,ans,xx,yy;

intxl,yl;

intcmp(data a,data b)

intcmp1(data a,data b)

intmain()

for (i=1; i<=n; i++)

cin>>num[i].x>>num[i].y;

sort(num+1,num+n+1

,cmp);

double mid=sum/2

;

for (i=1; i<=n; i++)

}for (i=1; i<=n; i++)

ans+=num[i].w*(abs(num[i].x-xl));

sort(num+1,num+n+1

,cmp1);

for (i=1; i<=n; i++)

}for (i=1; i<=n; i++)

ans+=num[i].w*(abs(num[i].y-yl));

printf(

"%0.2lf\n

",ans);

return0;

}

view code

湖南多校對抗賽(csu 1560)

簡單的bfs搜尋題,對每個初始的水滴依次擴充套件,當達到規定步數時跳出。這題還是有坑點的,對於每個初始的水滴,已經訪問過的位置不再訪問,但是對於不同的水滴,別的水滴已經訪問過的,對於當前水滴來說可能還要訪問,才能使擴充套件的範圍最大。include include include include i...

湖南多校對抗賽 A A

題意 有一些長方形,面積為1 x或者2 x,現在要算出能把這些 長方形全部包含起來的長方形的大小 2 m 簡單來說就是 給你乙個寬為2的長方形,求出長最小為多少時能把全部長方形 包含起來。解法 因為大的長方形寬始終為2,而其他長方形寬為1 2。即當寬為2的 長方形直接放入 即長度直接加上對於得長度 ...

湖南多校對抗賽 D D

include 題意 有3個只包含大寫字母的字串a,b,c。問能不能從 從a,b中分別拿出n 2個字元組成c串。n為a的長度 解法 直接統計26個大寫字母在a,b,c串中出現的個數,當c串中出現字母時,則看a,b串中這個字母出現的 次數之和 a,b這個字母最多為n 2 是否大於c對應 的個數,否則不...