P8772 [蓝桥杯 2022 省 A] 求和

题目描述:

解题思路:

首先这题我们可以直接用两个for循环嵌套来控制两个变量来求值,但是这样做时间复杂度高。这里我们用到了一个前缀和差的方法。通过for循环变量第一个变量,用和差的方法的到第二个量,这样就只用了一次循环,大大减少了时间复杂度。需要注意的是,这题有时间限制开辟大数组时需要开在全局中(程序留给全局的空间大,而留给main函数内的空间少)。

样例代码:

cpp 复制代码
#include <iostream>
#include <stdio.h>
using namespace std;

int n;
int arr[10000] = { 0 };
int sum[10000] = { 0 };
int ans = 0;

int main()
{
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> arr[i];
		sum[i] = sum[i - 1] + arr[i];
	}
	for (int i = 1; i <= n; i++)
	{
		ans = ans + arr[i] * (sum[n] - sum[i]);
	}
	printf("%d", ans);
	return 0;
}
相关推荐
绛橘色的日落(。・∀・)ノ1 小时前
机器学习之评估与偏差方差分析
算法
消失的旧时光-19431 小时前
C语言对象模型系列(四)《Linux 内核里的 container_of 到底是什么黑魔法?》—— 一篇讲透 Linux 内核的“对象模型”核心技巧
linux·c语言·算法
AI_Ming2 小时前
从0开始学AI:层归一化,原来是这回事!
算法·ai编程
WL_Aurora2 小时前
备战蓝桥杯国赛【Day 8】
算法·蓝桥杯
智者知已应修善业2 小时前
【51单片机模拟生日蜡烛】2023-10-10
c++·经验分享·笔记·算法·51单片机
MediaTea2 小时前
Scikit-learn:从数据到结构——无监督学习的最小闭环
人工智能·学习·算法·机器学习·scikit-learn
智者知已应修善业2 小时前
【51单片机如何让LED灯从一亮到八,再从八亮到一】2023-10-13
c++·经验分享·笔记·算法·51单片机
qeen872 小时前
【数据结构】二叉树相关经典函数C语言实现
c语言·数据结构·c++·笔记·学习·算法·二叉树
良木生香3 小时前
【C++初阶】STL——List从入门到应用完全指南(1)
开发语言·数据结构·c++·程序人生·算法·蓝桥杯·学习方法
WL_Aurora3 小时前
【每日一题】贪心
python·算法