2023年省賽i題
判斷單向聯通,用bfs
剪枝:從小到大跑,如果遇到之前跑過的點(也就是編號小於當前點的點),就o(n)傳遞關係。
bfs
1 #include2 #include3 #include4 #include5 #include6 #include7 #includeview code8 #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 }
dfs更好寫,隊友比賽的時候不知道為啥t了
1 #include2 #include3 #include4 #include5 #include6 #include7 #includeview code8 #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 }
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...