Skip to content

Latest commit

 

History

History
41 lines (35 loc) · 1015 Bytes

matrixsumqueries.md

File metadata and controls

41 lines (35 loc) · 1015 Bytes

题目描述:

image

解决过程:

竞赛题,没ac

  • 逆向思维

代码:

class Solution {
public:
    long long matrixSumQueries(int n, vector<vector<int>>& queries) {
        int sumX = 0, sumY = 0;
        vector<bool> xvisit (n, false);
        vector<bool> yvisit (n, false);
        int m = queries.size();
        long long ret = 0;
        for (int i = m - 1; i >= 0; i--) {
            int type = queries[i][0], x = queries[i][1], val = queries[i][2];
            if (type == 0) {
                if (xvisit[x]) continue;
                xvisit[x] = true;
                sumX++;
                long long aug = n - sumY;
                ret += aug * val;
            } else {
                if (yvisit[x]) continue;
                yvisit[x] = true;
                sumY++;
                long long aug = n - sumX;
                ret += aug * val;
            }
        }
        return ret;
    }
};