2023年省賽I題 Thrall s Dream

2022-03-09 00:07:38 字數 3062 閱讀 1635

2023年省賽i題

判斷單向聯通,用bfs

剪枝:從小到大跑,如果遇到之前跑過的點(也就是編號小於當前點的點),就o(n)傳遞關係。

bfs

1 #include2 #include3 #include4 #include5 #include6 #include7 #include

8 #include9 #include10 #include11

#define inf 2147483647

12#define ls rt<<1

13#define rs rt<<1|1

14#define lson ls,nl,mid,l,r

15#define rson rs,mid+1,nr,l,r

16#define n 100010

17#define for(i,a,b) for(int i=a;i<=b;i++)

18#define p(a) putchar(a)

19#define g() getchar()

2021

using

namespace

std;

22int

t;23

intn,m,cnt;

24int

x,y;

25bool b[2010][2010

];26

struct

node*e[40010

];30

31 queueq;

3233

void

in(int &x)

40while(c<='

9'&&c>='0'

)43 x*=y;44}

45void o(int

x)50

if(x>9)o(x/10

);51 p(x%10+'0'

);52}53

54void push(int x,int

y)64}65

66void bfs(int

x)76

else82}

83}84}

8586

bool

judge()

9394

void

clear()

99100

intmain()

109 for(i,1

,n)110

bfs(i);

111 printf("

case %d:

",++cnt);

112if

(judge())

113 printf("

kalimdor is just ahead\n");

114else

115 printf("

the burning shadow consume us all\n");

116}

117return0;

118 }

view code

dfs更好寫,隊友比賽的時候不知道為啥t了

1 #include2 #include3 #include4 #include5 #include6 #include7 #include

8 #include9 #include10 #include11

#define inf 2147483647

12#define ls rt<<1

13#define rs rt<<1|1

14#define lson ls,nl,mid,l,r

15#define rson rs,mid+1,nr,l,r

16#define n 100010

17#define for(i,a,b) for(int i=a;i<=b;i++)

18#define p(a) putchar(a)

19#define g() getchar()

2021

using

namespace

std;

22int

t;23

intn,m,cnt;

24int

x,y;

25bool b[2010][2010

];26

struct

node*e[40010

];30

31 queueq;

3233

void

in(int &x)

40while(c<='

9'&&c>='0'

)43 x*=y;44}

45void o(int

x)50

if(x>9)o(x/10

);51 p(x%10+'0'

);52}53

54void push(int x,int

y)64}65

66//

void bfs(int x)

76//

else

82//}83

//}84//}85

86void dfs(int x,int

f)92}93

94bool

judge()

101102

void

clear()

107108

intmain()

117 for(i,1

,n)118

dfs(i,i);

119 printf("

case %d:

",++cnt);

120if

(judge())

121 printf("

kalimdor is just ahead\n");

122else

123 printf("

the burning shadow consume us all\n");

124}

125return0;

126 }

view code

2023年省賽H題

2013年省賽h題 你不能每次都快速冪算a x,優化就是預處理,把10 9預處理成10 5和10 4。想法真的是非常巧妙啊 n 100000 構造兩個陣列,f1 n 間隔為a f2 1e4 間隔為a n,中間用f1來填補 f x f1 x n f2 x n p 1 include2 include3...

2023年湖南acm省賽 I題(2019)

有一顆 n 個點的帶權樹,點的編號是 1,2,n.樹有 n 1 條邊,求樹上兩點之間的距離是2019的倍數的點對有多少?點對距離計數 點分治 點分治關鍵是對cal函式進行修改,其他的基本不用改。如何靈活運用cal函式,主要還是要理解幾個變數的含義。根據點分治的過程,是不斷找重心,然後 1 求出每個點...

藍橋杯2023年C C 省賽真題 高斯日記

一下解法是根據鄭未老師的題解 解法一 運用excel,因為題解是根據已有的日期 天數來推算日期,所以可以運用excel的簡便的加減乘除來運算天數 無非就是考慮是否為閏年 先推算出1777年結束是幾天 假設不知道坑 4月的30號算第一天 之後以年為單位來推算日期,這時候運用到除法來算出是否是閏年,以4...