關於2018計蒜之道 貝殼找房價效比解題

2021-09-23 15:50:09 字數 1552 閱讀 1341

題意

貝殼找房有乙個價效比比較的系統,對於兩個**a,b,a的**為papa p_apa​​萬元,面積sasa s_asa​平方公尺,b的**為pbpb p_bpb​​萬元,面積為sbsb s_bsb​​平方公尺。他們的絕對價效比差定義成為 $ \frackatex parse error: expected 『eof』, got 『#』 at position 44: …使得它們的絕對價效比差最大。

#̲###輸入格式

輸入第一行乙個…s_i$, pipi p_ipi​​,分別表示第 i 個**的面積為 sisi s_isi​​ 平方公尺,**為 pipi p_ipi​​ 萬元。

資料保證 1≤t≤50,2≤n≤105105 10^5105,∣si∣,∣pi∣≤108108 10^8108,並且 沒有任何兩個**的面積和**都一樣。

輸出格式

對於每組資料輸出一行,如果該組資料的答案趨向於無窮大,輸出 −1,否則,輸出最大的絕對價效比差。(所有輸出誤差在 10−610−6 10^10−6 以內都可以被接受)。

樣例輸入24

1 34 5

7 83 6

24 10

4 11

樣例輸出

1.500000

-1題解

會有t個資料組塊

每個資料組塊有n個資料組

每個資料組有2個資料

以這個思路可以讓t和n都以陣列儲存,兩個資料以結構體儲存為pi,si

tt是指向t的指標 ,tn是指向n的指標 ,tn是指向結構體的指標 ,

動態malloc建立陣列結構

out用來輸出 p用來儲存最大結果

指標aout 和 指標 tp用來使指標指向開始位置

當分母相同時直接跳出兩次迴圈

#include#include#include#define tmax 50

#define tmin 1

#define nmax 100000

#define nmin 2

#define pmax 100000000

#define pmin -100000000

typedef struct shouse,*phouse;

int main()

tn = tp;

double p = -1;

for(int oi = 0;oisi == (tn[oj])->si)

if(p < (double)(abs((tn[oi])->pi-(tn[oj])->pi))/(double)(abs((tn[oi])->si-(tn[oj])->si)))

p = (double)(abs((tn[oi])->pi-(tn[oj])->pi))/(double)(abs((tn[oi])->si-(tn[oj])->si));

}} loop:

*out = p;

out++;

tt++;

} out = aout;

for(int i1=0;i1ps

這個**在計蒜客上執行1001ms,他的標準時1000ms差1ms啊絕望

純按題意來的沒有用數學方法

有野指標沒改嘻嘻

貝殼找房魔法師顧問 2018 計蒜之道 複賽

v v無向圖 強連通圖 每個子圖,n個點,選擇n 1條,使互相連線 因為目標點x 點y,可以改為點y 點x v c弱連通圖 將有向圖的所有的有向邊替換為無向邊,所得到的圖稱為原圖的基圖。如果乙個有向圖的基圖是連通圖,則有向圖是弱連通圖。1.乙個弱連通子圖,它裡面的點與該弱連通子圖外的點與沒有關係,可...

貝殼找房價效比 2018 計蒜之道 初賽 第三場

輸入第一行乙個整數 t t 表示資料組數。接下來輸入 t t 組資料,每一組資料按照下面格式輸入。第一行輸入乙個整數 n n 表示 的個數。接下來 n n 行,每行輸入兩個整數 s i,p isi pi 分別表示第 i i 個 的面積為 s isi 平方公尺,為 p ipi 萬元。資料保證 1 le...

計蒜客(貝殼找房均價計算)

貝殼找房每個月都會計算各個城市房價的均價,計算的最後一步為 將乙個形如 x.yx.y 的小數,用特殊近似法近似到整數。計算完成後會將這個均價展示在首頁供使用者參考。特殊近似法定義為 從最右邊開始四捨五入到整數為止。比如 4.445 rightarrow4.45 rightarrow4.5 right...