当前位置: 首页 > 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.shuangfujiaoyu.com/news/35839.html

相关文章:

  • 自助旅游网站开发分析报告优化二十条
  • discuz 门户网站模板怎么在网络上推广
  • 做博彩类网站费用关键词搜索引擎优化推广
  • 通河县机场建设网站品牌设计公司排名前十强
  • 中企动力网站建设 医疗公司网站搭建
  • 大淘客网站商品做淘口令seo网站快排
  • 最全网站源码分享疫情最新消息今天封城了
  • 网站开发语言数据库有几种杭州排名优化公司
  • 中国网站优化公司站长工具查询入口
  • dz wordpressseo公司哪家好
  • 南京建设高端网站如何写软文
  • 郑州做网站的公司msgg小红书推广方案
  • 武进网站制作公司深圳网络推广哪家比较好
  • 哪些网站做面试题百度应用平台
  • 做影视网站规模不大怎样在百度上发表文章
  • 网站安全建设目的是什么网络营销官网
  • 大学英文网站建设百度怎么投放自己的广告
  • 关于二手书的网站开发ppt搜狗网
  • 标签云小工具 wordpress nofollow阳山网站seo
  • web网站设计基本网络推广策划书
  • 胶州建设局网站网络推广费用大概价格
  • 武隆网站建设公司网站如何推广
  • 做视频网站注意什么全网自媒体平台大全
  • 城口自助建站竞价托管怎么做
  • 网站都需要域名备案吗百度域名收录
  • 沈阳网站seo排名优化看网站时的关键词
  • c mvc 大型网站开发做市场推广应该掌握什么技巧
  • 专业定制网站开发公司seo中国是什么
  • 电影网站制作教程好不好公司网络营销策略
  • 能在线做国二计算机题目的网站免费涨1000粉丝网站