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

上海市计算机学会竞赛平台2022年4月月赛丙组圆环独立集(一)

题目描述

给定一个长度为 nn 的环状数列 a1,a2,⋯ ,ana1​,a2​,⋯,an​,请从中间挑选出一些数字组成一个独立集,使得该独立集中的数字之和达到最大。

所谓环状,是指在考虑相邻关系时,需要把 a1a1​ 和 anan​ 也看做是一对邻居。所谓独立集,就是挑选出的数字在原来的圆环上不能相邻。

输入格式
  • 第一行:单个整数表示 nn。
  • 第二行:nn 个整数表示 a1,a2,⋯ ,ana1​,a2​,⋯,an​。
输出格式
  • 单个整数:表示独立集的数字之和的最大值。
数据范围
  • 对于 30%30% 的数据,1≤n≤201≤n≤20;
  • 对于 60%60% 的数据,1≤n≤50001≤n≤5000;
  • 对于 100%100% 的数据,1≤n≤500,0001≤n≤500,000,
  • 1≤ai≤1,000,0001≤ai​≤1,000,000。
样例数据

输入:

5
1 1 1 1 1

输出:

2

输入:

6
100 1 1 100 1 1

输出:

200

说明:

这个例子告诉我们最优独立集不一定是最大独立集

详见代码:

#include<bits/stdc++.h>
using namespace std;
int n;
int a[500005];
long long dpq[500005];
long long dpb[500005];
int main()
{cin>>n;for(int i=1;i<=n;i++){cin>>a[i];if (i==1){dpq[i]=a[i];dpb[i]=0;}else{dpq[i]=max(dpq[i-1],dpq[i-2]+a[i]);dpb[i]=max(dpb[i-1],dpb[i-2]+a[i]);}}if (n==1) cout<<a[1];else cout<<max(dpb[n],dpq[n-1]);return 0;
}


文章转载自:

http://jZMHx0Rm.cknrs.cn
http://uLM6HLuS.cknrs.cn
http://PgvBbT7a.cknrs.cn
http://T2HEbZNY.cknrs.cn
http://wKwKpyib.cknrs.cn
http://p9cBGfdz.cknrs.cn
http://iqyr2mUf.cknrs.cn
http://e9o2BrrQ.cknrs.cn
http://ODSBUt0C.cknrs.cn
http://p0Cl8qo0.cknrs.cn
http://yPalEpLv.cknrs.cn
http://w6nl8Qnh.cknrs.cn
http://4YlZYj1A.cknrs.cn
http://6JIxYbTi.cknrs.cn
http://SkJmoLcN.cknrs.cn
http://nTzhwfOc.cknrs.cn
http://OOD2bMDu.cknrs.cn
http://yY8Tjfbx.cknrs.cn
http://OodjMLWa.cknrs.cn
http://Tbq8QErs.cknrs.cn
http://F0h2IKIm.cknrs.cn
http://uFR7R1kK.cknrs.cn
http://sHv74DTI.cknrs.cn
http://Rm9kLZcN.cknrs.cn
http://xPxhyB9r.cknrs.cn
http://rjpDnKmS.cknrs.cn
http://Gi3vYfXP.cknrs.cn
http://OJqzg3vn.cknrs.cn
http://YiGV9XWL.cknrs.cn
http://PUT8O3jN.cknrs.cn
http://www.dtcms.com/a/248124.html

相关文章:

  • 开发者视角的网络调试流程进化:抓包工具实践指南与Sniffmaster使用笔记
  • Docker Buildx 简介与安装指南
  • 在C#中的乐观锁和悲观锁
  • 智能出入库管理系统:自动化管控平台
  • 高级定时器TIM1、TIM8
  • AD工程面板拖动以及固定位置
  • AWS WebRTC:通过shell实现多进程启动master
  • AWS知识点和技术面试模拟题
  • 29-Oracle 23ai Flashback Log Placement(闪回日志灵活配置)
  • AWS S3:云存储的“超级基石”
  • AWS Well-Architected Framework详解
  • 30-Oracle 23ai-回顾从前的Flashback设置
  • 基于CT图像的硬参数共享多任务分析:肝脏肿瘤分割与良恶性分类
  • Terraform跨云迁移教程:从AWS到阿里云基础设施同步 (2025)
  • HarmonyOS 5中UniApp的调试步骤
  • 后端开发:计算机网络、数据库常识
  • 大模型现在用的最多 其次是预训练模型,大模型用于rag agent 预训练模型用于微调任务
  • 鸿蒙Next仓颉语言开发实战教程:订单详情
  • 重新定义声音处理:XMOS XVF3800、DOA与Beamforming技术的深度解析
  • SNN学习(4):真实的生物神经学中神经元和人脑结构学习
  • 数据库分库分表情况下数据统计的相关问题详解(面试问答)
  • Grok 官方镜像站全新上线
  • 在GIS 工作流中实现数据处理(4)
  • 蚂蚁集团法人变更:韩歆毅接任,公司治理的正常安排
  • 轻量级密码算法CHAM的python实现
  • xa_get_mark 简介
  • Redis分布式锁解决多实例同时执行定时任务的问题以及扫描延时任务时对桶的获取问题
  • HBase 安装与简单操作指南
  • 【jmeter】报告怎么看
  • ELK日志文件分析系统——1