当前位置: 首页 > 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.gsyq.cn/news/70537.html

相关文章:

  • AI元人文:理论与技术的协同进化框架
  • 12月1日总结 - 作业----
  • lucas定理求组合数+错排模板
  • 备案合规定制化服务方案-自研与微调大模型企业如何备案
  • 算法和大模型备案登记的流程和指南-有哪些备案类型及要求
  • DBUtil
  • 第二篇Scrum冲刺
  • 团队作业4--项目冲刺
  • MyBatis完整教程IDEA版(2)--ResultMap/注解/一对多/多对一/lombok/log4j - 教程
  • Go 语言:类型别名 vs 新类型详解 - 若
  • 第一篇Scrum冲刺
  • 第六篇SCrum冲刺
  • Hudi 文件格式分析
  • 深入解析:微信小程序通过关联公众号发送待办消息:实战指南
  • 生命是一树花开
  • JavaSE--面向对象
  • 歌声转换SVC主流方法原理剖析4 — ReFlow-VAE-SVC
  • 敏捷冲刺日志 - Day 5
  • 深入解析:Spring Kafka消费者被踢出组?CommitFailedException异常全面解析与解决方案
  • 计算机视觉黄金时代的回顾与展望
  • homebrew运行机制
  • 解码构造与析构
  • 朝花夕拾OI回忆录
  • 细胞因子:细胞信使的分子世界与功能解析
  • 87键键盘的数字键对应快捷键含义
  • 深入解析:神经流形:大脑功能几何基础的革命性视角
  • 2025最新成都房屋装修公司推荐!成都家装市场权威榜单发布,品质服务双优助力打造理想家居
  • 2025.12.3
  • 2025最新成都精装房装修公司推荐!家装实力品牌榜单发布,品质服务双优打造理想家居
  • scheme中的辛普森积分