威县做网站哪家便宜,wordpress伪静态规则文件,网站色调搭配,微信小程序在线玩题目名字 求和
题目链接
题意 输入的每个数都要两两相乘#xff0c;然后再加起来#xff0c;求最后总和#xff1b; 思路 每个数乘这个数的前缀和即可 算法一#xff1a;前缀和
实现步骤 先把前缀和写出来再写for循环每个数都乘以自己的前缀和#xff1b; 实现步骤 直接…题目名字 求和
题目链接
题意 输入的每个数都要两两相乘然后再加起来求最后总和 思路 每个数乘这个数的前缀和即可 算法一前缀和
实现步骤 先把前缀和写出来再写for循环每个数都乘以自己的前缀和 实现步骤 直接在for循环输入里面进行相乘相加的运算 代码 #include iostream
using namespace std;
const int N1e610;
int n,a[N];
long long int sum0,m0;
int main()
{cinn;for(int i0;in;i){cina[i];sumsumm*a[i];mma[i];}coutsumendl;return 0;
}时间复杂度
总结 在刚开始写的时候想的是用枚举的方法两重for循环但是只能对两个而且还超时了所以一直写不出来因为超时原因所以不能直接暴力解决可以进行一个小的运算不把这个题想的太死板换个解题思路直接就是这个数和这个数的前一项的前缀和直接相乘就会清晰明了的多但是要注意一下实现后面的for循环i是等于n的因为不能从第一个数字进行这个运算所以掌握这种思维的灵活运用还是挺重要的如果再次遇到这种会超时的题目不妨试试换个思路当然还可以用在循环里输入的时候直接完成了相乘和相加的工作还是要多练题想法有了但是一直写不出来或者各种小问题