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

P8772 [蓝桥杯 2022 省 A] 求和题解前缀和思路

题干

P8772 [蓝桥杯 2022 省 A] 求和

题目描述

给定 $n$ 个整数 $a_{1}, a_{2}, \cdots, a_{n}$, 求它们两两相乘再相加的和,即

$$ S=a_{1} \cdot a_{2}+a_{1} \cdot a_{3}+\cdots+a_{1} \cdot a_{n}+a_{2} \cdot a_{3}+\cdots+a_{n-2} \cdot a_{n-1}+a_{n-2} \cdot a_{n}+a_{n-1} \cdot a_{n} $$

输入格式

输入的第一行包含一个整数 $n$ 。

第二行包含 $n$ 个整数 $a_{1}$, $a_{2}$, $\cdots a_{n}$ 。

输出格式

输出一个整数 $S$,表示所求的和。请使用合适的数据类型进行运算。

输入输出样例 #1

输入 #1
4 1 3 6 9
输出 #1
117

说明/提示

对于 $30 \%$ 的数据, $1 \leq n \leq 1000,1 \leq a_{i} \leq 100$ 。

对于所有评测用例, $1 \leq n \leq 2\times10^5,1 \leq a_{i} \leq 1000$ 。

蓝桥杯 2022 省赛 A 组 C 题。

思路解析

我拿到这道题最先想到的思路是数学优化,将原式进行合并同类项,如下:

$$ 原式= a_1\times{(a_2+a_3+...+a_n)}+a_2\times{(a_3+a_4+...+a_n)}+...+a_{n-1}\times{a_n} $$

我们正常计算是需要 $O(n^2)$ 的复杂度,但数据样例中 $1<=n<=2e5$ ,所以 $1<=n^2<=4e10$ ,这明显是TLE,所以我们就要考虑优化。观察 $a_1$ 、 $a_2$ 、 $a_3$ 、$...$ 、 $a_{n-1}$ 的系数,可整理成通项公式 $(a_{i+1}+a_{i+2}+...+a_n)$ ,可以发现它们都是这个数组中连续的一段的和,所以我们就可以通过前缀和预处理从 $a_1$ 到 $a_i$ 的和($s_i$),这时从 $a_{i+1}$ 到 $a_n$ 的和就可以表示为 $s_n-s_{i}$ 。那么这道题就可以优化至 $O(n)$ 的复杂度了。

代码

#include <bits/stdc++.h> using namespace std; const int N=2e5+10; int n,a[N],s[N],ans; signed main() { cin>>n; for (int i=1;i<=n;i++) { cin>>a[i],s[i]=s[i-1]+a[i];//预处理计算前缀和 } for (int i=1;i<n;i++) { ans+=(s[n]-s[i])*a[i];//计算每一项的值并累加 } cout<<ans<<endl; return 0; }
http://www.cnnetsun.cn/news/3279135.html

相关文章:

  • 插件化开发:Android端的插件化与ArkUI-X的结合(131)
  • MOSFET GS/G级电阻选型实战:3种应用场景下10K与100Ω阻值对比分析
  • OpenClaw本地AI调度中枢:Node.js版本适配与API路由实战指南
  • Unity URP全屏模糊插件:从Shader原理到工程实践
  • Coze扣子AI智能体开发实战:从零构建多Agent协同应用
  • QP/C++ 7.3.4构建失败:.pack文件缺失的深度解析与解决方案
  • mtr命令,看完这篇就够用!
  • FPGA程序固化实战:Quartus 23.1 转换JIC文件5步避坑指南(含Flash选型)
  • Text2SQL+LangGraph智能体
  • PN结测温电路设计:2N3904/2N3906三极管选型与LTC2991配置实战
  • 零壹教育:打破正则依赖!非结构化文本高效预处理方法总结
  • RTSP 与 RTP/RTCP 实战联调:5步搭建简易流媒体服务器与客户端
  • 用 OAS 光学软件仿真剪切干涉仪
  • OpenCV 4.8 与 ROS Noetic 相机标定实战:3步完成USB摄像头内参获取与验证
  • MIPI DSI 时钟与带宽计算:从800x600@60Hz到4K面板的3个关键公式与实例
  • 为什么是8时18分?皓贝一口腔医院开业时刻的深意
  • 压电陶瓷点火器电气参数全测量:从6.3pF电容到20GΩ绝缘电阻的5项数据
  • JWT 与 Opaque Token 对比:5个维度解析API认证方案选型
  • Gemma 4移动端部署实战:Android原生跑大模型全链路指南
  • 什么是数据库事务?一文搞懂 ACID 四大特性(一)
  • C++实现一维数组主波峰检测算法:从信号处理到工程实践
  • 点对点接口开发6大核心痛点与集成平台式解决方案
  • 3种 PWM 生成方案对比:MCU 硬件定时器 vs 软件模拟 vs 专用 IC
  • LabVIEW 2023 卷积码性能对比:(2,1,5) vs (2,1,7) 在AWGN信道下的3组误码率实测
  • 全球首款80FPS大双屏墨水屏手机 于7月10日开启;Kickstarter 众筹:Big
  • 计算机大数据毕设实战-基于 Python 的抖音时尚女装用户评论舆情系统的设计与实现 基于 Python 的女装抖音评论热度态势分析系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Java volatile 关键字深度解析:从存储金字塔到L3 Cache的3层缓存一致性
  • 93号文数据安全要求怎么落地?金融机构最难啃的骨头,有解了
  • 红外与热成像图像融合实战:基于 OpenCV 4.8 的 3 种配准算法对比
  • MBTiles vs 文件夹切片:QGIS 3.24.1 两种格式 5 项性能与部署对比