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

3007. 价值和小于等于 K 的最大数字

3007. 价值和小于等于 K 的最大数字


题目链接:3007. 价值和小于等于 K 的最大数字

代码如下:

//参考链接:https://leetcode.cn/problems/maximum-number-that-sum-of-the-prices-is-less-than-or-equal-to-k/solutions/2603673/er-fen-da-an-shu-wei-dpwei-yun-suan-pyth-tkir
class Solution 
{
public:
    long long findMaximumNumber(long long k, int x) 
    {
        auto check=[&](long long num)
        {
            long long res=0;
            int i=x-1;
            for(long long n=num>>i;n;n>>=x,i+=x)
            {
                res+=(n/2)<<i;
                if(n%2)
                {
                    long long mask=(1LL<<i)-1;
                    res+=(num&mask)+1;
                }
            }
            return res<=k;
        };

        //二分
        long long left=0,right=(k+1)<<x;
        while(left+1<right)
        {
            long long mid=left+(right-left)/2;
            (check(mid)?left:right)=mid;
        }
        return left;
    }
};

http://www.kler.cn/news/284135.html

相关文章:

  • 【ESP-IDF FreeRTOS】队列管理
  • 016_Save_the_picture_in_Matlab中保存图片
  • 24最新Stable Diffusion入门指南(看完必会)超全面
  • ELK学习笔记——如何给Kibana新增用户和角色
  • 电池信息 v5.29.11 高级版,智能优化充电,最多可延长50%电池寿命
  • 如果服务器的磁盘I/O经常过高?会有什么影响
  • 【Vue】Echart图表中的属性
  • 机会约束转化为确定性约束-- 样本均值法
  • 【甲方安全建设】富文本编辑器XSS漏洞攻击及防御详析
  • 设计者模式之访问者模式
  • 【王树森】RNN模型与NLP应用(7/9):机器翻译与Seq2Seq模型(个人向笔记)
  • springboot读取文件
  • 高级java每日一道面试题-2024年8月31日-框架篇[Spring篇]-你对Spring事务传播机制了解多少?
  • Docker 修改镜像源
  • 利用 Web 浏览器构建 Java Media Player
  • jetsonNano烧录Ubuntu20.04镜像使用ROS2
  • 【Java设计模式】装饰器模式:动态扩展类的功能
  • Hadoop生态圈(一)
  • 《高等代数》范德蒙德行列式的证明
  • 深拷贝与浅拷贝的区别
  • 工业软件架构4:(QT和C++实现)
  • 视频和音频合成视频Easy_Wav2Lip
  • ROS - Turtle Nest 使用说明
  • 机器学习/数据分析案例---糖尿病预测
  • Java基础——IO概述
  • Java算法之快速排序(Quick Sort)
  • 服务器机柜与网络机柜的区别有哪些?
  • 耦合和内聚
  • redis集群部署
  • 集成电路学习:什么是DAC数模转换器