在线编程-44最大边权和

简介: 记录并分享自己的做题想法及源码

题目

现在有n个点(1<=n<=1000),每个点都有一个值称为点权ai(ai为偶数,1<=ai<=1000),现在可以将任意两个点相连,连起来以后这条边也有一个值称为边权,这个边的边权为这两个点的点权之和的一半。现在需要你添加n-1条边,问将这n个点连通以后(连通是指任意两个点都能互相到达)的最大的边权和是多少。
输入点的数量n;和n个数,表示点权的值
输出最大的边权和

分析

拿到这个题目,个人理解,总共有以下要点:

  • 所有点全部连通:意味着所有数字要使用一遍
  • 添加n-1条边:控制上限
  • 边权为这两个点的点权之和的一半:意味着两个点数值越大,则边权越大;

通过以上,可以得出,所有点均和最大点做匹配,则能拿到最大的边权和

而1<=n<=1000,则应该分类讨论

  • n=1:无边,因此为0
  • n=2:两数之和/2
  • 其他:sum = (max*(n-2)+n个点之和)/2

源码

详细源码见 https://code.aliyun.com/xinYe/aliProgrammaCode.git

目录
相关文章
|
6月前
|
弹性计算 Cloud Native 5G
藏经阁2023年书籍推荐
好书一起看,技术干货学习就上藏经阁。藏经阁收录内容涵盖编程语言、云原生、数据库、大数据、AI等热门技术领域,让开发者们享受阅读优质内容。这次为您带来2023年4月至2024年1月的书籍推荐。
|
6月前
|
算法 Swift 开发者
【Swift开发专栏】Swift开发者的进阶之路:从新手到专家
【4月更文挑战第30天】本文介绍了Swift开发者从基础到专家的成长路径,包括掌握语言基础如语法、数据结构、错误处理和内存管理;深入学习Apple框架如UIKit、Core Data和CloudKit;关注性能优化、架构设计及网络与安全编程;以及持续学习新技术,参与开源项目,建立专业网络。通过不断学习和实践,开发者可逐步成为Swift专家。
157 0
|
6月前
|
编译器 C语言 C++
【C++初阶】第一站:C++入门基础(上) -- 良心详解-2
【C++初阶】第一站:C++入门基础(上) -- 良心详解-2
|
6月前
|
安全 Unix 编译器
【C++初阶】第一站:C++入门基础(上) -- 良心详解-1
【C++初阶】第一站:C++入门基础(上) -- 良心详解-1
|
供应链 安全
接头攻略 | 社区活动花样翻新,喜欢您来~
OpenSCA社区搞事情啦!社区活动花样多,惊喜好礼送不停!
67 0
接头攻略 | 社区活动花样翻新,喜欢您来~
|
Java 数据库 开发者
初入阿里云开发者社区
大家好,我是一名有着2年Java开发学习经验的新星创作者。也是CSDN平台上的优质作者之一。目前我还在不断学习中,很荣幸加入这个大社区,还望各位大佬多多关照,相互学习,结交益友。
279 0
|
小程序 搜索推荐 Java
程序员推荐的良心网站合集!(第二期)
程序员推荐的良心网站合集!(第二期)
252 0
程序员推荐的良心网站合集!(第二期)
|
Rust JavaScript 安全
2021年,快速Deno上手指南 | 🏆 技术专题第九期征文
2021年,快速Deno上手指南 | 🏆 技术专题第九期征文
192 0
2021年,快速Deno上手指南 | 🏆 技术专题第九期征文
冬季实战营第三期:小白的进阶之路
我可能是为数不多的一直跟练到现在的人了吧
冬季实战营第三期:小白的进阶之路
|
弹性计算
在阿里云学习的心得感想
初步接触阿里云服务器,在学习的过程中收获知识
1222 0
下一篇
无影云桌面