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

[题解] 分竹子

传送门

题目描述

bamboo_len 的竹子砍为若干整数段, 求每段竹子长度的最大乘积. 2 <= bamboo_len <= 58

分析

设将长度为 \(s\) 的竹子分为 \(n\) 段, 每段分别为 \(a_1, a_2, \cdots, a_n\) , 问题转化为求 \(\max a_1a_2\cdots a_n\)

由均值不等式: \((a_1a_2\cdots a_n)^{1/n} \leqslant \frac{a_1 + a_2 +\cdots + a_n}{n}\) , 当且仅当 \(a_1 = a_2 = \cdots a_n\) 时取等, 此时 \(a_1a_2\cdots a_n = (\frac{a_1+a_2+\cdots+a_n}{n})^n = (\frac{s}{n})^n\) .

取对数得 \(n \ln \frac{s}{n} = n \ln s - n \ln n\) , 求导得 \(\ln s - 1 - \ln n\) , 则当 \(\frac{s}{n} = e\) 时导数为 \(0\) , 取得最大值. 此时 \(n = \frac{s}{e}\) , 每段长 \(\frac{s}{n} = e\) , 所以尽量分为长度为 \(3\) 的段.

代码

class Solution:def cuttingBamboo(self, bamboo_len: int) -> int: if bamboo_len <= 3:return bamboo_len - 1left = bamboo_len % 3k = bamboo_len // 3if left == 0:return 3 ** kelif left == 1:return 3 ** (k - 1) * 4else:return 3 ** k * 2   
http://www.gsyq.cn/news/16325.html

相关文章:

  • 实力强劲的机器视觉公司有哪些:2025年TOP5精选榜单
  • 【MC】LittleTiles模组结构数据解析和版本迁移方案
  • 词汇学习——专业词汇
  • P4556 [Vani有约会] 雨天的尾巴 [模板] 线段树合并
  • 音响没声音
  • 10/5
  • java学习日记9.25
  • 关于电脑息屏后自动亮屏的的原因排查及解决方式
  • Squarepoint Challenge (Codeforces Round 1055, Div. 1 + Div. 2) A~E
  • k8s之基础概念
  • 点双连通分量例题:矿场搭建
  • 基于springboot的医护人员排班平台设计与构建(源码+文档+部署讲解)
  • 某中心2026年推出1111个技术实习岗位
  • SQL Indexes(索引) - 详解
  • Payload CMS:开发者优先的Next.js原生开源解决优秀的方案,重新定义无头内容管理
  • python语法记录
  • Go 即时通讯体系:客户端与服务端 WebSocket 通信交互
  • 读混元image论文
  • phone num
  • 当 Python 遇上 Go:Sponge 如何成为替代 Django/Flask 的理想选择 - 指南
  • 2025 年装盒机制造厂 TOP 企业品牌推荐排行榜,自动化 / 喷胶 / 牙膏 / 手机壳 / 3C 数码 / 内外盒 / 面膜 / 电子产品 / 玩具 / 日用品装盒机推荐这十家公司!
  • 英语_阅读_Chinas Spring Festival_待读
  • 2025 权威推荐!电梯源头品牌 TOP5 排行榜:实力厂家精选,品质之选不容错过
  • 2025混合机厂家最新企业品牌推荐排行榜,高效盘条式混合机,无重力混合机,犁刀式混合机,锥形混合机,卧式螺带混合机推荐这十家公司!
  • 在PyCharm中运行 wandb.login();
  • 机器学习科学家分享技术写作艺术
  • AT VP 记录
  • 实用指南:npm run build 报错:Some chunks are larger than 500 KB after minification
  • 关于主体性介枚枚介的讨究
  • 2025索道厂家最新企业品牌推荐排行榜,城市交通索道,旅游索道,滑雪索道,单人固定抱索器拖牵索道,固定抱索器吊篮式索道公司推荐