首先看到这个问题容易想到的是将数据全放在数组,一一遍历,相乘。

#include<iostream>
#include<vector>
using namespace std;
int n,a,b;
int x[1000000],y[1000000];
void solve()
{long long sum=0;for(int i=0;i<n;i++){sum+=x[i]*y[i];}cout<<sum;
}
int main()
{cin>>n>>a>>b;int a0=0,b0=0;for(int i=0;i<a;i++){int a1,a2;cin>>a1>>a2;for(int j=a0;j<a1;j++){j==a1-1?x[j]=a2:x[j]=0;}a0=a1;}for(int i=0;i<b;i++){int b1,b2;cin>>b1>>b2;for(int j=b0;j<b1;j++){j==b1-1?y[j]=b2:y[j]=0;}b0=b1;}solve();return 0;} 

然而这样仅有60分,超时了。

我们需要对此简单优化一下,数组仅存放有用的数据,对数据遍历存在三种情况:

1.如果x==y,就相乘。

2.如果x>y,就再次调用slove(x0,y0+1)

3.如果x<y,就调用slove(x0+1,y0)

思路明确了就上代码(100分)

#include<iostream>
#include<vector>
using namespace std;
int n,a,b;
long long sum=0;
vector< int >x,y,x1,y1;
void slove(int x0,int y0)
{if(x0==a||y0==b) return;if(x[x0]==y[y0]){sum+=x1[x0]*y1[y0];slove(x0+1,y0+1);}  else if(x[x0]>y[y0])slove(x0,y0+1);else if(x[x0]<y[y0])slove(x0+1,y0);
}
int main()
{cin>>n>>a>>b;for(int i=0;i<a;i++){int cc,cc1;cin>>cc>>cc1;x.push_back(cc);x1.push_back(cc1);}for(int i=0;i<b;i++){int cc,cc1;cin>>cc>>cc1;y.push_back(cc);y1.push_back(cc1);}slove(0,0);cout<<sum;return 0;
}

CCF-CSP 稀疏向量问题(2020-6)相关推荐

  1. 第19次csp认证 202006-2 稀疏向量(C++)

    题目 分析 本题需要计算的是两个n维向量的内积,只需计算两者对应的稀疏向量index相同的分量乘积,然后累加就可以了. 向量的一个分量包含index和value,使用struct来存储比较方便. n& ...

  2. leetcode力扣、PAT、CCF CSP历年真题C/C++满分答案 精心整理合集

    持续更新中~ 推荐算法类学习书籍:<算法笔记>胡凡.曾磊 著 尽心尽力肝出来的合集,如果有幸帮助到你的话,不要忘记给我点个赞哈哈哈~ CSP历年真题C/C++满分答案目录 没有备注的都是满 ...

  3. CCF CSP认证考试题解目录

    由于本人的书籍<算法详解(C++11 语言描述)>已经出版,为了降低题解的维护难度,有关CCF CSP考试的所有题解的更新将全部在书籍的配套仓库进行,CSDN博客中不再进行任何题解的更新. ...

  4. 计算机能力挑战赛_蓝桥杯、PAT、CCF CSP、团体程序设计天梯赛、传智杯、计算机能力挑战赛、软考等大学生编程比赛/考试介绍...

    介绍7个适合普通大学生参加的编程比赛/考试(注:有的比赛如蓝桥杯有多种赛别,本文仅介绍其中的程序设计/编程比赛). 编程入门书籍推荐<算法笔记>,内容详细易懂,对新手非常友好,描述语言为C ...

  5. 计算机考csp200分啥水平,计算机与信息工程学院成功举办第20次CCF CSP认证考试

    2020年9月13日,计算机与信息工程学院在计算机大楼201举办第二十次CCF CSP认证考试.这是计算机与信息工程学院2019年12月与中国计算机学会签署协议.河南大学正式成为CSP认证考点以来,举 ...

  6. 稀疏向量计算技术杂谈

    稀疏向量计算技术杂谈 稀疏计算是数学规划求解器计算速度提高的最基本套路. 现实中的大规模数学规划问题绝大多数是稀疏的, 例如下面这个流程车间调度问题的数学规划模型, 假如当m=10, n=100时, ...

  7. CCF CSP 201609-2 火车购票

    题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...

  8. UA MATH567 高维统计 专题0 为什么需要高维统计理论?——理解稀疏向量与hard-threshold

    UA MATH567 高维统计 专题0 为什么需要高维统计理论?--理解稀疏向量与hard-threshold 稀疏向量的soft-threshold与hard-threshold近似 引入hard- ...

  9. LeetCode 1570. 两个稀疏向量的点积(哈希)

    文章目录 1. 题目 2. 解题 1. 题目 给定两个稀疏向量,计算它们的点积(数量积). 实现类 SparseVector: SparseVector(nums) 以向量 nums 初始化对象. d ...

  10. 【稀疏向量技术是什么?】差分隐私系统学习记录(六)

    The Algorithmic Foundations of Differential Privacy (六) 写在前面的话 Remarks on composition Weak Quantific ...

最新文章

  1. Kth Largest Element in an Array
  2. NYOJ 636 世界末日
  3. Git复习(一)之简介、安装、集中式和分布式
  4. leetcode--70. 爬楼梯
  5. 0基础学python要多久-怎么自学python,大概要多久?
  6. 医疗保健行业未来发展的5大趋势预测
  7. Linux中使用Apache发布html网页
  8. 英特尔nuc能代替主机吗_拆了拆了!Intel NUC装机!小机箱退烧器啊!主机显示器合体...
  9. Power Query M语言日期时间函数(Date、DateTime、DateTimeZone、Duration)分类汇总,快速掌握
  10. RN上使用react-native-video视频播放器插件
  11. word写论文时给公式编号
  12. AD元器件英中名称对照【Ctrl + F 快速查找元器件英文名称】
  13. 如何制作基于beaglebone的设备通知Texter ?---凯利讯半导体
  14. 一篇文章从了解到入门shell
  15. C#中Action和=>用法(入门)
  16. 窗帘可以选择这6种效果不错的颜色 - 好佳居窗帘十大品牌
  17. 怎样在Mac上查找WiFi密码并在iPhone上共享它?
  18. linux编译poco静态库,iOS——为Xcode编译POCO C++静态库
  19. HorizontalScrollview+recycleview实现横向滑动
  20. [转]词根词缀记单词3-主讲victor老师

热门文章

  1. 用命令行连接mysql文件时出现错误_MySQL使用cmd命令窗口安装错误信息提示的解决方法...
  2. 大学计算机软件基础心得体会,学习计算机应用基础心得体会.doc
  3. div 位于屏幕正中间_折叠屏已经不新鲜了,明天你可能会用上“伸缩屏幕”!...
  4. Oracle11g新特性:在线操作功能增强-表增加包含默认值的字段(转载)
  5. 锐龙版和linux有什么区别,华为MateBook D 14锐龙版Linux版价格为何这么便宜
  6. Spring Boot 2 快速教程:WebFlux Restful CRUD 实践(三)
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的医学药品信息管理系统
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的校园二手市场系统
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的汽车维修管理平台
  10. 常用的正则表达式格式