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

蓝桥杯 合并数列

问题描述

小明发现有很多方案可以把一个很大的正整数拆成若干个正整数的和。他采用了其中两种方案,分别将它们列为两个数组:

  • {a₁, a₂, ..., aₙ}
  • {b₁, b₂, ..., bₘ}

两个数组的元素和相同

定义一次合并操作为:将某个数组中相邻的两个数合并为一个新数,新数的值为原来两个数的和。

小明希望通过若干次合并操作,使得两个数组最终变得一模一样,即满足:

  • n = m
  • 且对于任意下标 i,都有 aᵢ = bᵢ

请计算最少需要多少次合并操作可以完成小明的目标。


输入格式

输入共 3 行:

  • 第 1 行:两个正整数 nm,分别表示数组 ab 的长度。
  • 第 2 行:n 个由空格隔开的整数,表示数组 a
  • 第 3 行:m 个由空格隔开的整数,表示数组 b

输出格式

输出 1 行,一个整数,表示最少需要的合并次数。


样例输入

4 3
1 2 3 4
1 5 4

样例输出

1

样例说明

只需要将 a₂a₃ 合并为 5,数组 a 变为 {1, 5, 4},与数组 b 相同。


评测用例规模与约定

  • 对于 20% 的数据,保证 n, m ≤ 10³
  • 对于 100% 的数据,保证:
    • n, m ≤ 10⁵
    • 0 < aᵢ, bᵢ ≤ 10⁵
#include<bits/stdc++.h>
#include<stdio.h>

using namespace std;

int n, m, ans = 0;

int main() {
    scanf("%d %d", &n, &m);
    vector<int> arr1(n), arr2(m);
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr1[i]);
    }
    for (int i = 0; i < m; i++) {
        scanf("%d", &arr2[i]);
    }
    int l = 0, r = 0;
    while(l < n || r < m) {
        if (arr1[l] == arr2[r]) {
            l++;
            r++;
        }
        else if (arr1[l] > arr2[r]) {
            arr2[r + 1] += arr2[r];
            r++;
            ans++;
        }
        else{
            arr1[l + 1] += arr1[l];
            l++;
            ans++;
        }
    }
    cout << ans;
    return 0;
}//by wqs

相关文章:

  • AI Agent 开发与传统后端开发区别?
  • 项目-苍穹外卖(十六) Apache ECharts+数据统计
  • SpringSecurity OAuth2:授权服务器与资源服务器配置
  • 基于Spring Boot的服装定制系统的设计与实现(LW+源码+讲解)
  • FAST-LIVO2 Fast, Direct LiDAR-Inertial-Visual Odometry论文阅读
  • 硬件基础--16_公式梳理
  • “头”里有什么——HTML 元信息
  • Stable Virtual Camera 重新定义3D内容生成,解锁图像新维度;BatteryLife助力更精准预测电池寿命
  • gogs私服搭建
  • Django自带的Admin后台中如何获取当前登录用户
  • 概率与决策理论
  • 【AI】10卡的GPU服务器,Docker 配置 docker-compose.yml 限制指定使用最后两块GPU 序号8,9
  • 欧几里得距离(Euclidean Distance)公式
  • ue材质学习感想总结笔记
  • leetcode230.二叉搜索树中第k小的元素
  • C# 固高板卡(总线型) 操作类
  • C++指针(五)完结篇
  • 19 python 模块
  • 【数据结构】C语言实现并查集:双亲指针映射与动态连通性实现详解
  • stable diffusion 本地部署教程 2025最新版
  • 杭州“放大招”支持足球发展:足球人才可评“高层次人才”
  • 四部门:强化汛期农业防灾减灾,奋力夺取粮食和农业丰收
  • 微软宣布将裁员3%
  • 耗资10亿潮汕豪宅“英之园”将强拆?区政府:非法占用集体土地
  • 观察|“双雄”格局下电池制造商如何生存:加码不同技术、抢滩新赛道
  • 香港根据《维护国家安全条例》订立附属法例