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

MC0244多重堡垒

码蹄集OJ-多重堡垒

一、问题概述

(一)问题背景

小码哥沉迷游戏 “多重堡垒”,该游戏可抽象为满二叉树结构(满二叉树是指除最后一层外,每层节点数达最大值,且最后一层节点集中在左侧 ),需计算其复杂程度,以此考查对满二叉树特性、节点复杂程度计算规则及算法实现的理解。

(二)问题目标

给定满二叉树的节点个数 n 和按层序遍历(每层从左到右遍历,一层结束遍历下一层 )的节点权值序列 v,计算该游戏的复杂程度,即所有节点复杂程度之和。每个节点的复杂程度为:以该节点为根的子树中,所有节点(含根节点 )的权值乘以到根节点的边数(节点到自身边数为 0 )的结果中的最大值。

五、示例验证

(一)样例输入输出

样例输入:

3
6 2 7

样例输出:

7

代码:

#include <bits/stdc++.h>
using namespace std;
const int N = 1e4 + 7;
int n, a[N], ans;int getMax(int index, int edge) {if (index > n)return 0;int rootValue = edge * a[index]; int leftValue = getMax(index * 2, edge + 1);int rightValue = getMax(index * 2 + 1, edge + 1);return max(max(rightValue, leftValue), rootValue);
}int main() {cin >> n;for (int i = 1; i <= n; i++)cin >> a[i];for (int i = 1; i <= n; i++)ans += max(getMax(i * 2, 1), getMax(i * 2 + 1, 1));cout << ans;return 0;
}
#include <bits/stdc++.h>
using namespace std;
const int N = 1e4 + 7;
int n, a[N], ans;int getMax(int index, int edge) 
{if (index > n)return 0;int rootValue = edge * a[index]; int leftValue = getMax(index * 2, edge + 1);int rightValue = getMax(index * 2 + 1, edge + 1);return max(max(rightValue, leftValue), rootValue);
}int main() {cin >> n;for (int i = 1; i <= n; i++)cin >> a[i];for (int i = 1; i <= n; i++)//计算简化处理 ans += max(getMax(i * 2, 1), getMax(i * 2 + 1, 1));cout << ans;return 0;
}
#include <bits/stdc++.h>
using namespace std;
const int N = 1e4 + 7;
int n, a[N], ans;
int getMax(int index,int edge) 
{if (index > n)return 0;int rootValue = edge * a[index]; int leftValue = getMax(index * 2, edge + 1);int rightValue = getMax(index * 2 + 1, edge + 1);return max(max(rightValue, leftValue), rootValue);
}int main() {cin >> n;for (int i = 1; i <= n; i++)cin >> a[i];for (int i = 1; i <= n; i++)ans += getMax(i,0);cout << ans;return 0;
}

http://www.lryc.cn/news/604070.html

相关文章:

  • SAP-ABAP:Excel 文件内容解析到 ABAP 内表函数ALSM_EXCEL_TO_INTERNAL_TABLE运用详解
  • Elasticsearch重点
  • 【高等数学】第七章 微分方程——第三节 齐次方程
  • 监控场景视频质量异常修复:陌讯动态增强算法实战解析
  • CVPR 2025 | 华科精测:无需人工标注也能精准识别缺陷类别,AnomalyNCD 实现多类别缺陷自主分类
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-45,(知识点:负反馈的作用,基础理解,干扰和噪声的抑制)
  • 某雷限制解除:轻松获取原始下载链接,支持多任务转换
  • 笔试——Day22
  • 枚举中间位置高级篇
  • 【C++算法】79.BFS解决FloodFill算法_图像渲染
  • K8s集群两者不同的对外暴露服务的方式
  • 2025年JCR一区新算法-回旋镖气动椭圆优化算法Boomerang Aerodynamic Ellipse(BAE)-附Matlab免费代码
  • 小程序发票合并功能升级!发票夹直接选,操作更便捷
  • Python爬虫03_Requests破解百度翻译
  • 三步给小智ESP32S3智能语音硬件接入小程序打通MCP服务
  • ClickHouse MergeTree引擎:从核心架构到三级索引实战
  • 数字ic后端设计从入门到精通13(含fusion compiler, tcl教学)全定制版图设计
  • 通过双网口实现两台设备共享网络与文件传输
  • python线性回归:从原理到实战应用
  • 负载均衡、算法/策略
  • 【iOS】类扩展与关联对象
  • 深入解析RocksDB的MVCC和LSM Tree level
  • Vulnhub-NAPPING: 1.0.1靶机
  • 汉得班翎流程平台V1.20.0正式发布:AI智慧赋能,集成效率跃升!
  • ZKmall开源商城架构工具链:Docker、k8s 部署与管理技巧
  • 基于三台主机搭建 Web 服务环境:Nginx、NFS 与 DNS 配置全流程
  • 机械学习--线性回归---三个小案例
  • Kun_Tools(全能文档工具)V0.4.6 便携版
  • 2025年中科院与JCR期刊分区深度对比(第一期):TON中科院分区3区不变,JCR分区升至Q1;TOSEM重回中科院1区!
  • I2C 与 SMBus:同根同源,各有千秋