zoukankan      html  css  js  c++  java
  • Codeforces 356A

    这题有个注意的地方,就是对集合边读边删除的时候,应该尤为注意。。   my_set.erase(it++)

     1 #include <iostream>
     2 
     3 #include <cstring>
     4 #include <set>
     5 
     6 using namespace std;
     7 
     8 int color[300005];
     9 
    10 int main(){
    11     int n, m;
    12     while (cin >> n >> m) {
    13         set<int> my_set;
    14         for (int i = 1; i <= n; i++) {
    15             my_set.insert(i);
    16         }
    17         memset(color, 0, sizeof(color));
    18 
    19         for (int i = 0; i < m; i++) {
    20             int l, r, x;
    21             cin >> l >> r >> x;
    22             set<int>::iterator it;
    23             it = my_set.lower_bound(l);
    24             while (it != my_set.end()) {
    25                 if ((*it) > r) {
    26                     break;
    27                 }
    28                 if ((*it) == x) {
    29                     it++;
    30                     continue;
    31                 }
    32                 color[(*it)] = x;
    33                 my_set.erase(it++);
    34                 /* it++; */
    35             }
    36         }
    37         for (int i = 1; i <= n; i++) {
    38             cout << color[i] << (i==n ? '
    ' : ' ');
    39         }
    40     }
    41 
    42     return 0;
    43 }
  • 相关阅读:
    策略模式
    模板方法模式

    kafka
    Linux下部署MongoDB
    Linux下安装ssdb
    ssdb常用知识点
    Eclipse 的 Java Web 项目环境搭建
    PLSQL连接Oracle
    redis书籍
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/3703185.html
Copyright © 2011-2022 走看看