欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CSP202006-2 稀疏向量【map】

程序员文章站 2024-03-17 21:39:04
...

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

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

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

/* CSP202006-2 稀疏向量 */

#include <bits/stdc++.h>

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;
}