2018 11 02測試T2 飛越行星帶

2021-08-30 19:42:42 字數 1053 閱讀 1583

傳送門

這道題比較妙啊

把每個行星看成乙個點(把 x

xx 軸和 y=l

y=ly=

l 看成兩個特殊的點),把行星之間的距離看做邊(每個點與 x

xx 軸的邊為 y

iy_i

yi​,與 y=l

y=ly=

l 的邊為 l−y

il-y_i

l−yi

​),從小到達加邊,如果發現 x

xx 軸和 y=l

y=ly=

l 連通了,就可以把星域"隔開"了,最後加的邊就應該是飛船的直徑了

#include

#include

#include

#include

#define n 505

#define m 300005

using

namespace std;

struct edge

edge

(int u,

int v,

double w):u

(u),

v(v),w

(w)}a[m]

;int x[n]

,y[n]

,father[n]

;bool

comp

(const edge &p,

const edge &q)

intfind

(int x)

double

dist

(int i,

int j)

intmain()

father[n+1]

=n+1

;sort

(a+1

,a+tot+

1,comp)

;for

(i=1

;i<=tot;

++i)

}// fclose(stdin);

// fclose(stdout);

return0;

}

5 11返校測試T2

有k k第一行乙個整數n。第二行有n個正整數,每個數字代表一張選票所選的人的編號。每行乙個正整數,為優勝者的編號,由小到大。如果沒人獲勝,則輸出 no such person.8 5 2 3 6 2 5 2 72優勝者為2號。下面是這個題的思路qwq 將所有的選票進行從小到大排序 快排解決 然後將陣...

2018 10 27測試T2 洗衣服

傳送門 一道貪心題,但考場上沒貪出來 維護兩個堆,分別存洗衣服和烘乾衣服的時間 每次加進來一件衣服,就在之前最早結束的那一台機器裡操作,這樣會是最優的 洗衣服和烘乾衣服都這樣搞,最後再用最大配最小的原則求最大值就行了 include include include include define n ...

2019 08 24測試 T2 數學課

傳送門 給定乙個包含 n nn 個元素的集合 p p p 求有多少個集合 a p a pa p,滿足任意 x a x ax a 有 2x a2x a 2x a 且對於 a aa 在 p pp 中的補集 b bb,也滿足任意 x b x bx b 有 2x b2x b 2x b 有 q qq 個詢問,...