news 2026/6/9 11:28:18

上海计算机学会10月月赛丙组T3对称合并题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
上海计算机学会10月月赛丙组T3对称合并题解

对称合并

内存限制: 256 Mb时间限制: 1000 ms

题目描述

数列 α1,α2,…,αnα1​,α2​,…,αn​ 的逆转定义为 αn,αn−1,…,α1αn​,αn−1​,…,α1​。

如果一个数列与它的逆转完全一样,则称该数列对称。

例如 1,2,2,11,2,2,1 以及 123,456,123123,456,123 都是对称的,但 121,212121,212 不是。

给定一个数列 A1,A2,…,ANA1​,A2​,…,AN​,请问至少需要进行几次合并操作,才能将这个数列变成对称?

所谓合并操作就是在数列中选择两个相邻的数字,删除它们,然后将它们的和插入到删除的位置。

输入格式
  • 第一行:单个整数表示 NN
  • 第二行:NN 个整数表示 A1,A2,…,ANA1​,A2​,…,AN​
输出格式
  • 单个整数表示答案。
数据范围
  • 对于 30%30% 的数据,N≤10N≤10。
  • 对于 60%60% 的数据,N≤103N≤103。
  • 对于 100%100% 的数据,1≤N≤1061≤N≤106
  • 1≤Ai≤1091≤Ai​≤109。
题解:
  • 用两个指针i=1, j=N,分别从两端开始

  • 比较A[i]A[j]

    • 如果相等:i++, j--,继续比较下一对

    • 如果不相等:我们需要合并使得它们相等

      • 如果A[i] < A[j]:合并左边的A[i]A[i+1],使左边和增大

      • 如果A[i] > A[j]:合并右边的A[j-1]A[j],使右边和增大

    • 每次合并操作计数加1

  • 直到i >= j

    #include <iostream> #include <vector> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int N; cin >> N; vector<long long> A(N); for (int i = 0; i < N; i++) { cin >> A[i]; } int i = 0, j = N - 1; long long left_sum = 0, right_sum = 0; int operations = 0; while (i < j) { if (left_sum == 0) left_sum = A[i]; if (right_sum == 0) right_sum = A[j]; if (left_sum == right_sum) { left_sum = 0; right_sum = 0; i++; j--; } else if (left_sum < right_sum) { operations++; left_sum += A[i + 1]; i++; } else { // left_sum > right_sum operations++; right_sum += A[j - 1]; j--; } } cout << operations << endl; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 8:13:17

【Open-AutoGLM架构深度解析】:为何它能成为量子网络时代的AI中枢?

第一章&#xff1a;Open-AutoGLM架构的量子时代使命在量子计算与人工智能加速融合的当下&#xff0c;Open-AutoGLM架构应运而生&#xff0c;肩负起连接经典机器学习范式与未来量子智能系统的桥梁使命。该架构不仅支持传统GPU集群上的大规模语言模型训练&#xff0c;更前瞻性地集…

作者头像 李华
网站建设 2026/6/8 14:03:32

政企AI服务系统:技术落地的核心,是帮客户解决真问题

做政企数字化产品这么多年&#xff0c;我发现客户对AI的态度早就变了&#xff1a;从“要不要上AI”变成了“AI能帮我搞定什么事”。其实政企AI服务系统&#xff0c;根本不是装样子的“高科技摆设”&#xff0c;而是把AI技术拆成一个个能上手用的功能&#xff0c;精准解决人工慢…

作者头像 李华
网站建设 2026/6/8 6:56:37

SpringBoot+Spring AI 构建企业知识库

前言 在之前的文章中我们使用 SpringBoot 配合 DeepSeek 构建了一个拥有聊天记忆的问答机器人&#xff0c;如果没有看过的可以翻下我之前的帖子。这次构建企业知识库将基于之前的内容来添砖加瓦。 构建知识库 在开始之前&#xff0c;我们需要了解 2 个概念&#xff1a;向量数…

作者头像 李华
网站建设 2026/6/9 5:14:11

对这5个点无感,你可能不适合做测试开发

自从上次说测开和性能测试上半年薪资呈上升趋势&#xff0c;就有不少人对这些岗位感兴趣。 很多人面试的时候也会被问到这几个职位的区别&#xff0c;然后有测试经历或者说有系统学习过测试的人蛮少的 我在这里做一个小小的总结&#xff0c;希望迷茫中的朋友有所收获&#xf…

作者头像 李华