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

mg网站建设教程成都网络优化公司有哪些

mg网站建设教程,成都网络优化公司有哪些,外卖代运营哪家比较可靠,济南地铁建设文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴一维前缀和一、题目 1、原题链接 3956. 截断数组 2、题目描述 给定一个长度为 n 的数组 a1,a2,…,an。 现在,要将该数组从中间截断,得到三个非空子…

文章目录

  • 一、题目
    • 1、原题链接
    • 2、题目描述
  • 二、解题报告
    • 1、思路分析
    • 2、时间复杂度
    • 3、代码详解
  • 三、知识风暴
    • 一维前缀和

一、题目

1、原题链接

3956. 截断数组

2、题目描述

给定一个长度为 n 的数组 a1,a2,…,an。

现在,要将该数组从中间截断,得到三个非空子数组。

要求,三个子数组内各元素之和都相等

请问,共有多少种不同的截断方法?

输入格式

第一行包含整数 n。

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

输出格式

输出一个整数,表示截断方法数量。

数据范围

前六个测试点满足 1≤n≤10。所有测试点满足 1≤n≤105,−10000≤ai≤10000

输入样例1

4
1 2 3 3

输出样例1

1

输入样例2

5
1 2 3 4 5

输出样例2

0

输入样例3

2
0 0

输出样例3

0

二、解题报告

1、思路分析

思路来源:y总每日一题b站视频链接
y总yyds

(1)数据范围为105,需要将时间复杂度控制在 O(nlogn) 以内。
(2)首先判断所有元素总和是否能被3整除,如果不能被3整除,说明无法进行分割。如果可以被3整除,说明三个子数组的和均为sum/3
(3)从前往后依次枚举第二个分割点,同时用num记录其前面有多少个位置的前缀和为sum/3。如果第二个分割点位置的前缀和为sum/3*2,则说明以该位置为第二分割点的分割方式总共有num种。直到遍历完所有第二分割点可能的位置,统计分割方式总数,输出即可。

2、时间复杂度

时间复杂度O(n)

3、代码详解

#include <iostream>
using namespace std;
const int N=100010;
typedef long long LL;
int n,a[N],s[N];
LL ans;       //注意ans范围,最多从10^5-1个位置选两个分割点,所以总方案数超出int范围(10^9),要设置成long long
int main(){cin>>n;int num=0;       for(int i=1;i<=n;i++){cin>>a[i];s[i]=s[i-1]+a[i];   //计算前缀和 }int sum=s[n];//如果所有元素之和不是3的倍数,则无法分割成3个总和相等的子数组if(sum%3!=0){cout<<0;}else{for(int i=2;i<n;i++){         //注意i从2到n-1,保证第一个子数组和最后一个子数组最少有一个数if(s[i-1]==sum/3) num++;   //记录从1位置到i位置一共有多少个位置的前缀和为sum/3if(s[i]==sum/3*2) ans+=num;   //如果当前位置满足前缀和=sum/3*2,说明以当前位置为第二个分割点,第一个分割点总共有num个,以该位置为第二分割点的总分割数即为num个}cout<<ans;}return 0;
}

三、知识风暴

一维前缀和

  • 一维前缀和可以快速计算某一个指定区间内的元素和。
  1. 给定数组num[1],num[2],num[3],...,num[n],设s[i]为前i个元素的前缀和,则有s[i]=s[i-1]+num[i](s[0]=0)。
  2. 若要求区间[a,b](第a个数到第b个数的和,包含第a个数和第b个数),则为s[b]-s[a-1]
http://www.ds6.com.cn/news/11854.html

相关文章:

  • 建设网站广告语苏州优化收费
  • python做网站的案例网站访问量
  • 网页素材大宝库seo研究中心qq群
  • 网站推广需求被逆冬seo课程欺骗了
  • vs网站怎么做反向链接查询
  • 建设银行个人网站个人客户百度推广的几种方式
  • 德州购物网站建设百度广告投放收费标准
  • 网站内容建设规划seo关键词报价查询
  • 导航网站模板牛推网
  • 图书馆网站结构怎么做浏览器大全
  • 出格做网站app如何推广以及推广渠道
  • 做赌博网站代理交换链接适合哪些网站
  • 商务网站建设摘要注册百度账号
  • 卡密网站怎么做的网站优化公司上海
  • 网站怎么看被百度收录在线crm软件
  • 做熟食的网站美食网站seo系统培训班
  • 大连建设银行社会招聘网站郑州seo网站排名
  • 定制网站开发公司生物医药可以发外链的平台
  • 汤唯梁朝伟做的视频网站免费平台推广
  • boostrop怎么做网站阿里云网站搭建
  • 电子商务网站建设需要哪些技术济南今日头条新闻
  • 旅游网网站的设计58同城如何发广告
  • 2020应该建设什么网站百度站长平台有哪些功能
  • 做网站 服务器软文标题大全
  • 七牛云cdn wordpress西安seo阳建
  • 网站引导动画怎么做今日中国新闻
  • 网站建设管理鲜花网络营销推广方案
  • 微网站建设申请报告网络营销实训个人总结
  • 宣传海报在什么网站做seo学习网站
  • 网站界面切片做程序鞍山seo公司