Atcoder Beginner Contest ABC302 题解

发布时间 2023-05-22 20:07:41作者: FReQuenter

代码

见此:https://atcoder.jp/contests/abc302/submissions?f.Task=&f.LanguageName=&f.Status=&f.User=frequenter

A Attack

https://atcoder.jp/contests/abc302/tasks/abc302_a

直接计算 a/b,有余数的话答案加一。

B Find Snuke

https://atcoder.jp/contests/abc302/tasks/abc302_b

枚举每个点,向周围八个方向拓展,判断。

C Almost Equal

https://atcoder.jp/contests/abc302/tasks/abc302_c

全排列枚举字符串顺序,之后检查。

\(O(n)\) 做法:咕。(应该有罢

D Impartial Gift

https://atcoder.jp/contests/abc302/tasks/abc302_d

双指针入门题。

我记得在二百多场的时候出过一个类似的 D。

枚举方法很多。因为题目里带个绝对值,所以我写的时候分了 \(a_i>b_i\)\(a_i<b_i\) 两类来写,绝对值拆了好写,不容易错。可以直接看代码,比较好理解。

E Isolation

https://atcoder.jp/contests/abc302/tasks/abc302_e

map 硬做。记录 \(x\)\(y\) 之间有没有边,删除的时候暴力,每次如果一个点变成整体的一部分或者独立,就更新一下答案。

复杂度分析:每一次操作 \(2\) 执行的数量都是到上一次操作 \(2\) 之间执行的操作 \(1\) 的数量,所以相当于执行了 \(2\) 倍操作 \(1\),则时间复杂度 \(O(2n \log n)=O(n \log n)\)

我写的洛谷题解:https://www.luogu.com.cn/blog/frequenter5156/solution-at-abc302-e

F Merge Set

https://atcoder.jp/contests/abc302/tasks/abc302_f

咕。

G Sort From 1 to 4

https://atcoder.jp/contests/abc302/tasks/abc302_g

咕。

Ex Ball Collector

https://atcoder.jp/contests/abc302/tasks/abc302_h

咕。

总结

不算难罢(比较正常的一场。