多校聯合比賽總結(四)

2022-05-23 23:15:13 字數 1499 閱讀 4770

第四場比賽早就做完了,就是一直沒寫總結,感覺這次的題出的真的不好,後台測試資料的強弱就不說了,因為我們也沒做出幾道題,但是就給出的標準輸出都是錯的這一點來說真的不怎麼樣。還有感覺這次的題偏重於數學類的,讓人摸不透出題人到底是想考察什麼的,暈啊~

這次比賽我們隊共做出三題吧,最後那題還是zjh隨手寫的,以為一定會超時的,在最後兩分鐘提交的,唉,這能說什麼呢,rp吧~

說說第四題吧,題意是給出乙個人5*n的矩陣,讓你從矩陣的每行去乙個數,是的這五個數的和0,n為200 ,剛開始的時候,zjh用二分查詢做的,怎麼樣都過不了,後來想想或許hash查詢會快一點,然後改用hash做的。

**:view code

#include #include 

#include

#include

#include

#define n 205

#define m 40004

using

namespace

std ;

long

long dat[5][n] , map[2

][m] ;

long

long cal( int i , int j , int

k )int

main()

int np = n *n ;

for( i = 0 ; i < 2 ; i++)

sort( map[i] , map[i] +np );

}//sort( dat[4] , dat[4] + n );

int flag = 0

;

for ( i = 0 ; i < n && !flag ; i++)

}if( flag )

printf (

"yes\n");

else

printf (

"no\n");

}return0;

}

然後就是第六題了,純數學啊,一直沒弄懂給出的樣例是怎麼得到的,賽後看了解題報告,哭了,真心沒研究過容斥原理啊,好吧,直接用公式吧~

**:view code

#include #include 

#include

#include

#include

#define n 25

using

namespace

std ;

double

p[n] , sum , ans ;

intn ;

void dfs( int index , int

flag )

intmain()

sum = 0.0 ;ans = 0.0

; dfs(

0 , 1

); printf (

"%lf\n

", ans ) ;

}return0;

}

其他題沒細研究,以後練到了再拿來練手吧~

多校聯合(4)

感覺這次數學題挺多的,這次的資料應該不能說水了,有的卡的確實挺厲害,但覺得有的題還是很無語,比如說那個trouble,二分感覺不超的,就是過不了,不是wa,就是tle,還會mle,乙個簡單的hash就可以過。是不是太卡演算法了。題目 這道題真沒什麼好說的 view code 1 include 2 ...

2013 多校聯合5

1005 若沒有邊權,則對點權從大到小排序即可。考慮邊,將邊權拆成兩半加到它所關聯的兩個點的點權中即可。因為當兩個人分別選擇不同的點時,這一權值將互相抵消。智商是硬傷啊 include include include includeusing namespace std double w 10000...

多校聯合訓練4 5773

解題方法 0可以轉化成任意整數,包括負數,顯然求lis時盡量把0都放進去必定是正確的。因此我們可以把0拿出來,對剩下的做o nlogn 的lis,統計結果的時候再算上0的數量。為了保證嚴格遞增,我們可以將每個權值s i 減去i前面0的個數,再做lis,就能保證結果是嚴格遞增的。ac include ...