Codeforces Round #120 (Div. 2)

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\)每次与一段连续的点均有连边,如果两区间有连边,则需要合并两个连通块。
  • 用线段树维护区间覆盖情况。
  • 传递覆盖信息时如果当前区间已经被完全覆盖了,显然不需要往下继续传递。
posted @ 2016-10-13 10:51  mcginn  阅读(146)  评论(0编辑  收藏  举报