当前位置: 首页 > news >正文

刷题日记—前缀和

1.基本前缀和与差分思想
2.前缀和的拓展——前缀乘法—左右区间乘积的前后累乘。
image

点击查看代码
```cpp
#include <iostream>
#include<vector>
using namespace std;
//这道题实际上是前缀和的拓展,前缀乘法,根据题目要求可知,要求除当前元素以外的所有元素的乘积,实际上就是左乘积*右乘积,把左右乘积分别存储到数组里就可以
int main()
{vector<int> nums;int n;cin>>n;vector<int> left(n);vector<int> right(n);for(int i=0;i<n;++i){int x;cin>>x;nums.push_back(x);}left[0]=1;for(int i=1;i<n;++i){left[i]=left[i-1]*nums[i-1];}right[n-1]=1;for(int i=n-2;i>=0;--i){right[i]=right[i+1]*nums[i+1];}for(int i=0;i<n;++i){nums[i]=left[i]*right[i];cout<<nums[i]<<" ";}return 0;
}
</details>  
利用左右数组分别存储左右乘积,应当注意的是left(right)[i]=left(right)[i-1]*nums[i-1],并且left[0]=1,right[n-1]=1。
http://www.jsqmd.com/news/60021/

相关文章:

  • 第五十四篇
  • AI元人文:理论与技术的协同进化框架
  • 2025.12.3博客
  • 12月2日总结 - 作业----
  • 12月1日总结 - 作业----
  • Flutter 安卓测试运行
  • 第七篇Scrum冲刺
  • 今日趣事
  • 高德地图_使用PlaceSearch查找指定名称的POI
  • 团队作业4——学生信息管理系统
  • 01-IFoxCAD概述与入门
  • 12月3日总结 - 作业----
  • 昌江019通道维修
  • lucas定理求组合数+错排模板
  • 第三篇Scrum冲刺
  • 2025.12.3总结
  • DBUtil
  • 印度七大声控AI初创企业技术盘点
  • 第二篇Scrum冲刺
  • 02 安装与运行
  • 团队作业4--项目冲刺
  • 03 HTTP请求的url路由
  • MyBatis完整教程IDEA版(2)--ResultMap/注解/一对多/多对一/lombok/log4j - 教程
  • 以 Core i9-13900HX 实例讲解CPU概念:物理CPU,内核,逻辑CPU
  • 图书馆管理系统团队作业4-项目冲刺
  • C语言之折中查找
  • 【第七章:时间序列模型】3.时间序列实战:使用时序模型进行股票预测实战 - 实践
  • 罗克韦尔Micro850 PLC和欧姆龙NJ互通离不开Modbus工业物联网技术支撑
  • 一条不太寻常的路 —— AFO 退役记 -
  • Go 语言:类型别名 vs 新类型详解 - 若