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

P8772 [蓝桥杯 2022 省 A] 求和

题目描述

给定 𝑛 个整数 𝑎1,𝑎2,⋯ ,𝑎𝑛 求它们两两相乘再相加的和,即

𝑆=𝑎1⋅𝑎2+𝑎1⋅𝑎3+⋯+𝑎1⋅𝑎𝑛+𝑎2⋅𝑎3+⋯+𝑎𝑛−2⋅𝑎𝑛−1+𝑎𝑛−2⋅𝑎𝑛+𝑎𝑛−1⋅𝑎𝑛

输入格式

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

第二行包含 n 个整数 a1​,a2​,⋯an​ 。

输出格式

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

输入输出样例

输入 #1复制

4
1 3 6 9

输出 #1复制

117

#include<stdio.h>int main(){int n;long long sum=0,sum_of_squares=0,result=0;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++){scanf("%d",&a[i]);sum+=a[i];sum_of_squares+=a[i]*a[i];}
result=(sum*sum-sum_of_squares)/2;
printf("%lld",result);
return 0;
}

这题主要是难在时间复杂度,如果简单的用两重循环那么一定会超时

这题实际考的是数学,就是比较难的思维推理

sum*sum包括所有乘积的和要减去i和j相同时的,因为ai*aj=aj*ai,所以要除以2

http://www.lryc.cn/news/519355.html

相关文章:

  • 【Oracle篇】深入了解执行计划中的访问路径(含表级别、B树索引、位图索引、簇表四大类访问路径)
  • WSDL的基本概念
  • RabbitMQ解决消息积压的方法
  • Android 网络层相关介绍
  • 2025年第三届“华数杯”国际赛B题解题思路与代码(Matlab版)
  • 小米路由器IPv6 功能使用指南
  • k8s dashboard离线部署步骤
  • Wireshark抓包教程(2024最新版个人笔记)
  • 稀疏矩阵:BM25;稠密矩阵:RoBERTa - wwm - ext顺序
  • C# 结构体(Struct)
  • Homestyler 和 Tripo AI 如何利用人工智能驱动的 3D 建模改变定制室内设计
  • Python的pandas库基础知识(超详细教学)
  • 【数据库】一、数据库系统概述
  • 大数据智能选课系统
  • esp32开发笔记之一:esp32开发环境搭建vscode+ubuntu
  • 赛灵思(Xilinx)公司Artix-7系列FPGA
  • Trie树算法
  • NLTK分词以及处理方法
  • vue3树形组件+封装+应用
  • kotlin项目无法访问Java类的问题
  • 计算机网络 (30)多协议标签交换MPLS
  • qt-C++笔记之自定义继承类初始化时涉及到parents的初始化
  • 人才选拔中,如何优化面试流程
  • 2501wtl,皮肤技术
  • 【面试题】技术场景 6、Java 生产环境 bug 排查
  • word论文排版常见问题汇总
  • 传奇3仿韩服单机版安装教程+GM管理面板
  • 第26章 汇编语言--- 内核态与用户态
  • Spring bean的生命周期和扩展
  • 计算机网络 (33)传输控制协议TCP概述