您的位置:首页 > 文旅 > 旅游 > 快手怎么引流推广_如何拥有一个免费的企业邮箱_seo营销是什么_品牌推广策略包括哪些内容

快手怎么引流推广_如何拥有一个免费的企业邮箱_seo营销是什么_品牌推广策略包括哪些内容

2024/12/26 10:11:12 来源:https://blog.csdn.net/2401_87995839/article/details/144491069  浏览:    关键词:快手怎么引流推广_如何拥有一个免费的企业邮箱_seo营销是什么_品牌推广策略包括哪些内容
快手怎么引流推广_如何拥有一个免费的企业邮箱_seo营销是什么_品牌推广策略包括哪些内容

          Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!

91bfeb2bb1414a2ebf09cbc4f9706779.gif

我的博客:<但凡.

我的专栏:《编程之路》、《数据结构与算法之美》、《题海拾贝》

欢迎点赞,关注!

1、题目

ef2d7318c24742c28da2c42559e0545e.png

2、题解 

        这题其实并不难想,甚至说都不用想,上来直接就for循环嵌套,但这样想都不用想,时间度都干O(N)了他肯定拿不了满分。

        在这我就不写错的那个了,免得误导大家。发现时间度太高了肯定得降,那我们之前说你两个for循环不嵌套的话就是N,那就想办法把for循环拿出来呗,反正你不嵌套你写多少个for他也是O(N)。

        我们试着写出来几个就能发现规律了。假设我们n等于5,a1就乘了个a2,a3,a4,a5,我们根据乘法结合律把它写成a1*(a2+a3+a4+a5),现在我们只需要提前写个for循环,把ai需要乘的那几个数加和就OK了。但需要注意的是,求和的时候你也不能嵌套for循环,不然咱时间复杂度还是O(n),咱们让第i个数该乘的数的和 等于 第i-1个数该乘的数的和 减去 第i个数就好了。

        还有,就是千万别忘了开辟成long long,注意数据范围。十年 OI 一场空,不开 long long 见祖宗!

#include<iostream>
using namespace std;
long long a[200005] = { 0 };
long long b[200005] = { 0 };
int main()
{int n = 0;int i = 0;cin >> n;long long S = 0;int j = 0;while(i<n){cin >> a[i];i++;}for (i = 1;i < n;i++){b[0] = b[0] + a[i];}for (i = 1;i < n;i++){b[i] = b[i-1] - a[i];}for (i = 0;i < n;i++){S = S + a[i] * b[i];}cout << S;return 0;
}

        好了,今天的内容就分享到这,我们下期再见!

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com