2020 8 8 模擬賽補題

2021-10-09 00:19:03 字數 1664 閱讀 7201

pta 7-10 排座位

這道題中,因為朋友關係是可以傳遞的,所以我們用並查集來儲存朋友關係。敵對關係不可傳遞,所以我們用乙個鄰接表儲存敵對關係。再根據題目要求進行輸出

#include 

#include

#include

#include

using namespace std;

int pre[

1010];

int map[

1010][

1010];

//並查集模板

int find

(int x)

void

merge

(int x,int y)

int main()

for(int i=

1;i<=k;i++

)return0;

}

pta 7-4 帥到沒朋友

我們用乙個vis陣列作為標記陣列,當朋友圈人數大於1時,我們將輸入的數標記,如果朋友圈人數等於1說明朋友圈只有自己一人,我們不做標記

#include 

#include

#include

#include

using namespace std;

const int n

=100100

;int vis[n]

;//標記陣列

int main()

}else

//朋友圈只有自己一人或者沒有朋友圈

cin>>num;

} int sum =0;

cin>>m;

for(int i=

1; i<=m; i++)}

if(!sum)

cout<<

"no one is handsome"

}

pta 7-11 玩轉二叉樹

#include 

#include

#include

#include

using namespace std;

int str1[30]

,str2[30]

;struct node

;struct node *

creat

(int n,int *str1,int *str2)

root -

> l =

creat

(i,str1+

1,str2)

; root -

> r =

creat

(n-i-

1,str1+i+

1,str2+i+1)

;return root;};

void

swap

(struct node *root)

}else

return

;swap

(root-

>l)

;swap

(root-

>r);}

void

ans(struct node *root)

i++;}

}}int main()

天梯賽賽前模擬賽補題 2020

一 暢通工程之最低成本建設問題 這道題是用最小生成樹做的,之前最小生成樹練的很少,比賽時沒寫出來,也沒考慮用最小生成樹,還是練得少。這個題可以用kruskal演算法做,先將每條路的花費從小到大排序,然後再從頭開始加每條邊花費的 從頭開始用並查集判斷兩個點的根節點是否相同,如果相同說明出現了環,就co...

新生賽補題

題目大意 構造乙個長度為n的嚴格遞增序列,每個數都屬於 1,m 求方案數,結果模998244353。dp的轉移方程 第一位數 i 代表的是遍歷到第幾個數了,j代表的是當前位是幾。dp i j dp i 1 j dp i j 1 ac include using namespace std const...

csp模擬補題

咕咕東是個貪玩的孩子,有一天,他從上古遺跡中得到了乙個神奇的圓環。這個圓環由字母表組成首尾相接的環,環上有乙個指標,最初指向字母a。咕咕東每次可以順時針或者逆時針旋轉一格。例如,a順時針旋轉到z,逆時針旋轉到b。咕咕東手裡有乙個字串,但是他太笨了,所以他來請求你的幫助,問最少需要轉多少次。解題過程 ...