多校聯合(4)

2022-05-21 03:19:47 字數 2547 閱讀 3672

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

題目:這道題真沒什麼好說的

view code

1 #include 2 #include 

3 #include 4 #include 5

#define mod 100007

6#define n 6

7#define m 210

8#define _clr(a,val) (memset(a,val,sizeof(a)))910

using

namespace

std;

1112 typedef long

long

ll;13

ll a[n][m];

14ll mark[mod];

15bool

vis[mod];

16int

find(ll key)

1725

intmain()

2641

ll ans,cnt;

42for(i = 0; i < n; i++)

4351}52

int flag = 0;53

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

5466}67

if(flag) break;68

}69if(flag) break;70

}71if(flag) printf("

yes\n");

72else printf("

no\n");

73}74return0;

75 }

題目:

題意:給一些關係,說明兩個人是好朋友,然後有乙個圓桌問是否可以讓所有人都坐下,每個人的兩旁都是自己的好朋友,如果可以就輸出入座的順序

明白了題意之後第乙個反應就是dfs,可是如果是 150 * 150 的dfs怕會超掉,就沒有寫,覺得寫了也是浪費時間,沒想到dfs還真的過了,可能是當時沒有注意到題目中給的  每個人至少有一半的人都是他的好朋友   這句話的作用

view code

1 #include 2 #include 

3 #include 4 #include 5

#define mod 100007

6#define n 160

7#define m 210

8#define _clr(a,val) (memset(a,val,sizeof(a)))910

using

namespace

std;

1112

intmap[n][n];

13bool

vis[n];

14int

path[n];

15int

sum;

16int

n;17

intflag;

18//

int num;

19int dfs(int

x)20

30for(int i = 2; i <= n; i++)

31if(map[x][i] && !vis[i])

3240

return0;

41}42int

main()

4357 flag = 0

;58 vis[1] = 1

;59 path[0] = 1

;60 sum = 1

;61 dfs(1

);62

if(!flag)

63 printf("

no solution\n");

64}65return0;

66 }

題目:

當時看著過的人挺多的,然後我們就一直在看那個題,研究樣例怎麼過,可是n久也弄不出樣例,最後看我們學校的隊都沒人試,也就放棄了,說一定是乙個簡單題,沒那麼複雜,看了解題+標程時我是覺得那個公式挺簡單的,但是怎麼來的,為什麼是那樣,就不懂了,題解裡說是容斥原理,

中等偏難的概率/

組合數學。設卡片的分布p=(p1,p2,...,pn)

,t(p)

表示拿到所有卡片時買的零食數目,有。由容斥原理得,

根據這個公式就可以了,下面是標程裡計算這個公式的核心**

view code

1

int temp = 1

<

2 ans = 0;3

for(i = 1; i < temp; i++)414

}15if(num & 1) ans += (1 /tem);

16else ans += (-1 /tem);

17 }

2018多校聯合訓練4

過了6題,第一次進入前100名 1012 直接從1走到n solved by wyq include includeint a 100005 int reabs int x int main return 0 1004 和出題人心有靈犀2333 solved by lyy include using...

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 ...