• CodeForces 226C The table[贪心]


    一直找和是负的行/者列取反就行了....

    可以发现每次取反负的行或者列一定会让矩阵和至少增加2 所以这个过程一定会结束,因为 值域 n m都很小 复杂度 (O(n imes 10^6)) (维护一下每行的和每列的和)

    偷懒写了个最坏 (O(n^2 imes 10^6)) 的过了

    其实我感觉无法构造出让复杂度达到上界的矩阵

    int n, m;
    int a[105][103];
    bool cnt[205];
    void init() {
    
    }
    int check() {
      int pre = 0;
      lo1(i, n) {
        pre = 0;
        lo1(j, m) pre += a[i][j];
        if (pre < 0) return i;
      }
      lo1(i, m) {
        pre = 0;
        lo1(j, n) pre += a[j][i];
        if (pre < 0) return i + n;
      }
      return 0;
    }
    void solve() {
      n = in, m = in;
      lo1(i, n) lo1(j, m) in, a[i][j];
      int ss;
      while (ss = check()) {
        cnt[ss] ^= 1;
        if (ss > n) {
          ss -= n;
          lo1(i, n) a[i][ss] *= -1;
        }
        else lo1(i, m) a[ss][i] *= -1;
      }
      vint ans;
      lo1(i, n) if (cnt[i]) ans.pb(i);
      out, (int)(ans.size()), ' ';
      for (auto it : ans) out, it, ' ';
      puts(""), ans.clear();
      lo1(i, m) if (cnt[i + n]) ans.pb(i);
      out, (int)(ans.size()), ' ';
      for (auto it : ans) out, it, ' ';
    }
    
  • 相关阅读:
    生成器和推导式
    闭包
    python
    python初识函数二
    python函数初识
    python文件操作二
    文件操作
    python集合,深浅copy
    Python安装、配置图文详解
    jsDoc 使用及配置!
  • 原文地址:https://www.cnblogs.com/storz/p/10463475.html
Copyright © 2020-2023  润新知