題解 P1309 瑞士輪

2022-04-30 21:12:12 字數 980 閱讀 7483

一開始只因為是結構體快排,不幸tle了

仔細一想,將sort換成了stable_sort居然過了。原來每次改變的只是相鄰的,所以sort會浪費大量時間。

之後跑來看題解,發現是清一色的歸併……

獻上又醜又短的**

1 #include2

namespace

zdy6

namespace

fast,*f=b;}namespace fob,*f=b,*g=b+300000-2;}struct foce} _foce;namespace ibtemplateinline void

in(t &x)templateinline void

out(t x)if(x<0)char *s=ib::b;while(x) *(++s)=x%10,x/=10;while(s!=ib::b) pc((*(s--))+48);}templateinline void outn(t x)

11 }using

namespace fast;using

namespace zdy;using

namespace

std;

1213

/*----------------------以上為快讀,不必在意---------------------------

*/14

#define n 200001

15struct xsa[n];

16 inline bool cmp(xs x,xs y)

17int

n,r,q;

18int

main()

27outn(a[q].id);

28 }

view code

彩蛋:

1 #include2

using

namespace

std;

3int

main()

4

view code

洛谷P1309 瑞士輪 題解

題目傳送 思路非常簡單,只要開始時把結構體排個序,每次給贏的加分再排序,共r次,最後再輸出分數第q大的就行了。天真的我估錯時間複雜度用每次用sort暴力排序結果60分。實際上這道題估算時間複雜度時o括號裡的n並不是輸入的n,而是輸入的n乘2,這就要求我們精準地估算時間複雜度以採取合適的演算法來解題。...

洛谷P1309 瑞士輪

本題同樣是noip普及組第三題。因為太久沒有做過題目了,先從普及組開始練習吧。題目內容 很顯然想到的思路就是模擬,如下 include include include include using namespace std struct player bool cmp player a,player...

洛谷p1309 瑞士輪

因為太菜不會寫p1310 表示式的值,就只能過來水兩篇部落格啦qwq 另外這個題我是開o2才過的 雖然是寫了歸併排序 可能我太菜寫的歸併不是還可以 剪枝 吧qwq 哎,果真還是太菜啦qwq 所以準備寫歸併然後去題解學習正確的不用開o2就可以過的演算法 瑞士輪 題目鏈結 其實這個題打眼一看可以直接so...