Codeforces Round #120 (Div. 2)

时间:2022-09-10 21:31:25

A. Vasya and the Bus

  • 根据\(n,m\)是否为0分类讨论下。

B. Surrounded

  • 判断两圆是否有交点,否则构造的圆与两圆相切。

C. STL

  • 看代码比较清楚。
void type() {
if (cin >> str) {
ans += str;
if (str == "pair")
ans += "<", type(), ans += ",", type(), ans += ">";
} else {
flag = 1;
}
}

D. Non-Secret Cypher

  • two pointer
  • 对于固定的左端点\(l\),找到最小的右端点满足题意,显然两个指针都是单调递增的。

E. Counter Attack

  • 在补图中,当前点\(u\)每次与一段连续的点均有连边,如果两区间有连边,则需要合并两个连通块。
  • 用线段树维护区间覆盖情况。
  • 传递覆盖信息时如果当前区间已经被完全覆盖了,显然不需要往下继续传递。