题目


分析

本题需要计算的是两个n维向量的内积,只需计算两者对应的稀疏向量index相同的分量乘积,然后累加就可以了。

  • 向量的一个分量包含index和value,使用struct来存储比较方便。
  • n<=109,a,b<=5 * 105,|ui| * |vi|<=1012 * 5 * 105=5 * 1017。所以,n,a,b均选择int类型存储,最后结果要用long long int存储。
  • 判断index相等时使用两重for循环暴力求解会运行超时。应该先按维数对index排序,然后再交叉比较(详看代码)。

AC代码

#include<iostream>
#include<algorithm>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
struct vector
{int index;int value;};
bool comp(vector a,vector b)
{return a.index<b.index;
}
int main(int argc, char** argv)
{int i,j,n,a,b;cin>>n>>a>>b;vector u[a],v[b];long long int uv=0;int index,value;for(i=0;i<a;i++){cin>>u[i].index>>u[i].value;  }for(i=0;i<b;i++){cin>>v[i].index>>v[i].value;}sort(u,u+a,comp);sort(v,v+b,comp);for(i=0,j=0;i<a&&j<b;){if(u[i].index==v[j].index){uv=uv+u[i].value*v[j].value;i++;j++;} else if(u[i].index<v[j].index)i++;elsej++;} cout<<uv;return 0;
}

如果文章有错误,或者您有更好的方法,欢迎在评论区留言。

Reference

csp第19次认证第2题
C/C++中sort函数用法

第19次csp认证 202006-2 稀疏向量(C++)相关推荐

  1. 2023年3月19日的csp认证考场经历

    第29次csp认证算是告一段落了.笔者第一次参加,能够拿到这个分数,也算是非常幸运了,先晒一下自己的分数(doge): ​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) 然后再简要谈谈自己 ...

  2. 北航ccf计算机软件能证排名前18%,CCF成功举办第十一次CCF CSP认证

    第十一次CCF CSP计算机软件能力认证(CSP)于2017年9月17日在全国66所院校举办,这是2017年度CCF举办的第二次认证,来自全国200多个单位的6591人参加了本次认证.通过对本次CSP ...

  3. python认证考试_Python入门习题(39)——CCF CSP认证考试真题:公共钥匙盒

    CCF CSP认证考试真题:共钥匙盒 问题描述 试题编号:201709-2 试题名称:公共钥匙盒 时间限制:1.0s 内存限制:256.0MB 问题描述 有一个学校的老师共用N个教室,按照规定,所有的 ...

  4. csp认证之旅--------【python】持续更新

    小白csp认证之旅 2021.12-2 第24次CCF计算机软件能力认证 2021.12-3 第24次CCF计算机软件能力认证 2021.9-2 第23次CCF计算机软件能力认证 2021.9-3 第 ...

  5. CSP:CSP认证考试:202012-1(期末预测之安全指数)满分答案,Java版

    CSP:CSP认证考试:202012-1(期末预测之安全指数)满分答案,Java版 一.题目: 二.Java满分答案 import java.util.Scanner;public class Mai ...

  6. CSP:CSP认证考试:202104-1(灰度直方图)满分答案,Java版

    CSP:CSP认证考试:202104-1(灰度直方图)满分答案,Java版 一.题目: 二.Java满分答案 import java.util.ArrayList; import java.util. ...

  7. CSP:CSP认证考试:202109-2(非零段划分)70分答案,Java版

    CSP:CSP认证考试:202109-2(非零段划分)70分答案,Java版 一.题目: 二.Java70分答案 import java.util.ArrayList; import java.uti ...

  8. CSP:CSP认证考试:202109-1(数组推导)满分答案,Java版

    CSP:CSP认证考试:202109-1(数组推导)满分答案,Java版 一.题目: 二.Java满分答案 import java.util.ArrayList; import java.util.S ...

  9. CSP认证201509-2 日期计算[C++题解]:枚举、模拟

    题目分析 来源:acwing 分析: 主要是判断2月多少天.然后就是遍历每个月,依次减去当前月的天数,发现days还剩多少天就是当月几号. 其实这里是背的模板,日期题模板更难一点的题目是 CSP认证 ...

最新文章

  1. usb过滤驱动inf_N卡驱动全家桶专治工具升级:专为玩家打造
  2. golang var 初始化时机_你应该知道的 Go 调度器知识:Go 核心原理 — 协程调度时机...
  3. 该工程中的宏被禁止_建筑工程的发包与承包中有哪些行为是禁止的?
  4. boost::math模块演示负二项分布使用的简单示例的测试程序
  5. 【MATLAB统计分析与应用100】案例001:matlab使用Importdata函数导入文本txt数据
  6. JavaFX游戏(四连环)
  7. C++笔记-基于邻接表的BFS(宽度优先遍历)
  8. python problem
  9. java url压缩_URL压缩算法的短地址
  10. 《深度学习》李宏毅 -- task7总结
  11. Codeforces Round # 555 (Div. 3) C2. Increasing subsequence (complicated version) (贪心)
  12. android 背景逐渐变暗,UI:使View背景逐渐变暗的方法
  13. 百度之星程序设计大赛输出格式的注意
  14. 电子书城系统设计与实现
  15. Mac键盘突然失灵怎么办?别急,教你打开辅助键盘
  16. 语料库mysql_基于PHP+MySQL的小型语料库程序设计解决方案
  17. 党² - 李超线段树
  18. 思维导图使用技巧:手把手教你怎么画思维导图 #CSDN博文精选# #系统化学习# #IT技术# #知识图谱#
  19. 测试IP和端口是否通
  20. 数学推导+纯Python实现机器学习算法22:EM算法

热门文章

  1. Java 8:对速度3.0.1“森林”流ORM的更深入了解
  2. 使用Spring boot,Thymeleaf,AngularJS从零开始构建新的Web应用程序-第2部分
  3. 如何在Hibernate Search 5.5.2 / Apache Lucene 5.4.x中处理停用词?
  4. javafx 表单_JavaFX 2:创建登录表单
  5. 如何在JUnit 5中替换规则
  6. SpringBoot:SpringBoot简介
  7. 装饰器设计模式的应用
  8. 使用自定义日志记录处理程序在JBoss AS 7中跟踪SQL语句
  9. JSF Tomcat配置示例
  10. Linux命令终端如何查询本机的内外网IP地址