CSP202006-2 稀疏向量【map】

试题编号: 202006-2
试题名称: 稀疏向量
时间限制: 2.0s
内存限制: 512.0MB
CSP202006-2 稀疏向量【map】_第1张图片
CSP202006-2 稀疏向量【map】_第2张图片

问题链接:CSP202006-2 稀疏向量
问题简述:(略)
问题分析:map用于存储稀疏数据是最有效的,也可以用来存储稀疏向量。2个向量不必都存储,能够边读入数据边计算可以节省存储,也有助于提高计算速度。
先读入数据存储在数据结构中,再进行处理是倒腾,既浪费存储又浪费时间,完全没有必要。
程序说明:(略)
参考链接:(略)
题记:时间与空间是程序的永恒主题。

AC的C++语言程序如下:

/* CSP202006-2 稀疏向量 */

#include 

using namespace std;

map<int, int> mp;

int main()
{
     
    int n, a, b, ix, val;

    scanf("%d%d%d", &n, &a, &b);

    for(int i = 1; i <= a; i++) {
     
        scanf("%d%d", &ix, &val);
        mp[ix] = val;
    }

    long long sum = 0;
    for(int i = 1; i <= b; i++) {
     
        scanf("%d%d", &ix, &val);
        sum += val * mp[ix];
    }

    printf("%lld\n", sum);

    return 0;
}

你可能感兴趣的:(CCF-CSP认证题解,CSP202006-2,稀疏向量)