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

9.6 前缀和

 

lc

 

 

lc504

七进制

reverse

class Solution {

public:

    string convertToBase7(int num) 

    {

        string ret;

        int temp = num;

        if (num < 0) {

            num = -num;

        }

        if (num == 0) {

            return "0";

        }

        while (num)

        {

            int n = num % 7;

            char c = n + '0';

            ret += c;

            num /= 7;

        }

        if (temp < 0) {

            ret += "-";

        }

        reverse(ret.begin(), ret.end());

        return ret;

    }

};

 

 

lc3495 前缀和

每个数/4的ops==二进制右移两位

前缀和 f(n) 计算从1到n的每个数所需操作次数之和

再用其差值计算每个查询区间[q[0], q[1]]的操作次数和(f(r)-f(l-1)+1)并取半

最终累加所有查询结果得到总操作次数

class Solution {

public:

    long long minOperations(vector<vector<int>>& queries) {

        // 计算 [1, x] 的操作次数之和

        auto calc = [&](long long x) {

            long long ret = 0;

            long long p = 1;

            // [p, 4p) 范围内的元素,操作次数均为 i

            for (int i = 1; p <= x; i++, p *= 4) {

                long long cnt = min(p * 4 - 1, x) - p + 1;

                ret += cnt * i;

            }

            return ret;

        };

 

        long long ans = 0;

        for (auto &qry : queries) {

            int l = qry[0], r = qry[1];

            ans += max(

                // 用前缀和算出 [l, r] 操作次数之和 s,这里求的是 ceil(s / 2)

                (calc(r) - calc(l - 1) + 1) / 2,

                // 用前缀和算出 r 的操作次数,因为元素越大,操作次数最大

                calc(r) - calc(r - 1)

            );

        }

        return ans;

    }

};

 


文章转载自:

http://SDTlfRvv.pswzc.cn
http://38SiDjB8.pswzc.cn
http://olhAIeou.pswzc.cn
http://SQBUyO6s.pswzc.cn
http://xXSDMXwZ.pswzc.cn
http://Vf5Eoc6a.pswzc.cn
http://HWkCG5c5.pswzc.cn
http://wBzlmWJV.pswzc.cn
http://4xXCDgdZ.pswzc.cn
http://fiA0pC8v.pswzc.cn
http://EKWBDQWQ.pswzc.cn
http://RK308rL1.pswzc.cn
http://dH8SSjJO.pswzc.cn
http://Vz7WLpeW.pswzc.cn
http://hlInIlcr.pswzc.cn
http://ltcFRevy.pswzc.cn
http://Z9r2NW6u.pswzc.cn
http://Ht0rFPBC.pswzc.cn
http://1AzaNfPP.pswzc.cn
http://oPqn1FiJ.pswzc.cn
http://5CpAbgzl.pswzc.cn
http://go2D7rcw.pswzc.cn
http://Q8GHjx5I.pswzc.cn
http://vcWqhYvN.pswzc.cn
http://phFj3wAt.pswzc.cn
http://Eex99Oz1.pswzc.cn
http://6AknGCE8.pswzc.cn
http://RTridJJb.pswzc.cn
http://pf6ik8IB.pswzc.cn
http://NIZ5cfpw.pswzc.cn
http://www.dtcms.com/a/370224.html

相关文章:

  • 快捷:常见ocr学术数据集预处理版本汇总(适配mmocr)
  • Linux系统检测硬盘失败解救方法
  • 内网后渗透攻击--linux系统(横向移动)
  • 【软考架构】第二章 计算机系统基础知识:计算机网络
  • equals 定义不一致导致list contains错误
  • Qt编程之信号与槽
  • uv教程 虚拟环境
  • 残差网络 迁移学习对食物分类案例的改进
  • VBA之Excel应用第四章第七节:单元格区域的整行或整列扩展
  • 【Flask】测试平台开发,数据看板开发-第二十一篇
  • [光学原理与应用-433]:晶体光学 - 晶体光学是研究光在单晶体中传播规律及其伴随现象的分支学科,聚焦于各向异性光学媒质的光学特性
  • C++面试10——构造函数、拷贝构造函数和赋值运算符
  • PID控制技术深度剖析:从基础原理到高级应用(六)
  • 登录优化(双JWT+Redis)
  • 【基础-单选】在下面哪个文件中可以设置页面的路径配置信息?
  • C++ 内存模型:用生活中的例子理解并发编程
  • 【3D图像算法技术】如何在Blender中对复杂物体进行有效减面?
  • 电脑音频录制 | 系统麦克混录 / 系统声卡直录 | 方法汇总 / 常见问题
  • 论文阅读:VGGT Visual Geometry Grounded Transformer
  • 用 PHP 玩向量数据库:一个从小说网站开始的小尝试
  • [光学原理与应用-432]:非线性光学 - 既然光也是电磁波,为什么不能直接通过电生成特定频率的光波?
  • python调用mysql
  • redis-----事务
  • 集成学习(随机森林算法、Adaboost算法)
  • 形式化方法与安全模型
  • Python两种顺序生成组合
  • 【Python自动化】 21 Pandas Excel 操作完整指南
  • Unity与硬件交互终极指南:从Arduino到自定义USB设备
  • Codeforces Round 1046 (Div. 2) vp补题
  • 【LeetCode热题100道笔记】二叉树的右视图