leetcode每日一题1969

目录

一.题目原型:

二思路解析:

三.代码实现:


一.题目原型:

 

二思路解析:

灵神的做法非常让人惊叹:

理解就是,如果一个数大于另一个数要交换的1的权重,那么他们的乘积就变小。

那么一个大的数不断变大,小的数不断变小,乘积不也就越来越小吗?

在看个例子。 

注意点一:交换后所有数字的和不变,因为只是某一个数 +2^k,另一个数 -2^k,和不变.

注意点二:然后在和不变的基础上,差大积小,假如能形成 1 1 1 1 1 …… 1 n,那肯定积最小,但是,这种情况是达咩的,这就是注意点二:交换是交换,上限不会超过2^p-1,数字的上限已经决定了

回头看示例3:

注意点3:接着继续考虑,尽可能的形成1这个思路没错了,问题是最多有多少个1可以形成,接着我看示例3:我先是疑惑了一下,为什么是 1 1 1 6 6 6 7呢,和不变的情况下,差大积小,为什么不是 1 1 1 5 6 7 7呢,明显积更小啊,之后就被我发现了注意点三:在二进制位上的0、1数量是相对不变的,p=3举例,每个二进制位上都是4个1,3个0;p=4的时候 都是8个1,7个0

最关键的是: 

很完美的思路:灵神太厉害了! 

快速幂的知识总结下来就是一句话:x的n次方就是不断缩小n,扩大x的时候找出所有奇次方底数的积,还有本题数字太大,也需要将快速幂的模的方法搬过来。

三.代码实现:

class Solution {const int mod = 1'000'000'007;long long pow(long long x, long long m) {x %= mod;long long res = 1;while (m>0) {if(m&1){res = res * x % mod;}m>>=1;x = (x%mod * x % mod)%mod;}return res;}public:int minNonZeroProduct(int p) {long long k = (1LL << p) - 1;  //k=2^p -1long long m=(1LL<<(p-1))-1;return k % mod * pow(k - 1, m) % mod;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/280901.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥-K倍区间--前缀和

题目描述&#xff1a; 给定一个长度为 NN 的数列&#xff0c;A1,A2,…AN&#xff0c;如果其中一段连续的子序列 Ai,Ai1,…Aj 之和是 K 的倍数&#xff0c;我们就称这个区间 [i,j] 是 K 倍区间。 你能求出数列中总共有多少个 K 倍区间吗&#xff1f; 输入格式 第一行包含两个…

centos7安装openGauss数据库

官网手册&#xff1a; https://opengauss.org/zh/download/ 操作系统选择centos&#xff0c;软件包类型选择极简版&#xff1a;https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.1/x86/openGauss-5.0.1-CentOS-64bit.tar.bz2 硬件&#xff1a;2c4g 安装手册&#xf…

STL_list文档使用介绍与底层代码实现简介

文章目录 list介绍list的使用构造函数&#xff08;constructor&#xff09;迭代器list capacitylist modify&#xff08;修改&#xff09;其他接口函数list迭代器失效问题 list实现基础框架(节点类&#xff09;基础框架&#xff08;迭代器类&#xff09;基础框架&#xff08;链…

实现安卓连接阿里云物联网平台(2)

完整工程链接 链接&#xff1a;https://pan.baidu.com/s/1ykcJHPBSKBXVMaMWKoVRvA?pwd8888 提取码&#xff1a;8888 &#xff08;1&#xff09;创建一个新工程 &#xff08;2&#xff09;添加mqtt包的依赖 implementation org.eclipse.paho:org.eclipse.paho.client.mqttv…

C++学习基础版(一)

目录 一、C入门 1、C和C的区别 2、解读C程序 3、命名空间 4、输入输出 &#xff08;1&#xff09;cout输出流 &#xff08;2&#xff09;endl操纵符 &#xff08;3&#xff09;cin输入流 二、C表达式和控制语句 1、数据机构 特别&#xff1a;布尔类型bool 2、算数运…

C#对于文件中的文件名判断问题

C#中对于文件名的判断问题&#xff0c;我们使用bool值进行值的传递&#xff0c;首先我们使用内置方法进行文件字符串匹配的bool值回传&#xff0c;我们打印出文件名以及相对应的bool&#xff0c;即可知道文件名是否真正生效 bool isHave fileName.Contains("Hello"…

Langchain-chatchat+ChatGlm3-6b部署

我的环境 升级了下配置&#xff0c;加载知识库成功 内存&#xff1a;16GB 32B 显卡&#xff1a;GTX1060-6G RTX4080 Laptop-12G 1. 基础环境准备 1.1. 安装anaconda&#xff0c;创建环境python版本3.11 conda create -n chatglm3 python3.11 conda activate chatglm3 1.…

我国高纯电子级过氧化氢产量逐渐增长 未来有望实现完全国产替代

我国高纯电子级过氧化氢产量逐渐增长 未来有望实现完全国产替代 高纯电子级过氧化氢是氧化氢产品中技术含量最高的细分品类&#xff0c;多用于印刷电路板蚀刻、硅片清洗、光刻胶剥离等方面。经过多年发展&#xff0c;高纯电子级过氧化氢制备工艺已经成熟&#xff0c;大致可分为…

大模型主流微调训练方法总结 LoRA、Adapter、Prefix-tuning、P-tuning、Prompt-tuning 并训练自己的数据集

大模型主流微调训练方法总结 LoRA、Adapter、Prefix-tuning、P-tuning、Prompt-tuning 概述 大模型微调(finetuning)以适应特定任务是一个复杂且计算密集型的过程。本文训练测试主要是基于主流的的微调方法:LoRA、Adapter、Prefix-tuning、P-tuning和Prompt-tuning,并对…

开篇介绍——蓝桥赛前冲刺(JavaB组)

开篇介绍 蓝桥杯赛事时间安排 专栏内容介绍 在接下来的几天时间内&#xff0c;老汉会不间断的更新该专栏&#xff0c;主要针对蓝桥杯B组赛事高频考点的复习巩固&#xff0c;其中包括老汉认为较优质的算法讲解&#xff08;文章、视频&#xff09;&#xff0c;以及对应的真题、…

关系型数据库mysql(2)SQL语句

目录 一.SQL语句简介 1.1SQL语言 1.2SQL语句分类 1.3SQL分类 1.4SQL 语言规范 二.数据库基本操作 2.1查看数据库中的库信息 2.2查看数据库中的表信息 数据库内查看 数据库外查看 2.3显示数据库的结构&#xff08;字段&#xff09; ​编辑 2.4 字段属性 2.5常见的数…

【Linux】文件属性信息、文件目录权限修改

Linux文件属性信息 在 Linux 中&#xff0c;ls命令用于列出目录内容&#xff0c;并提供了许多参数以定制输出和显示不同类型的信息。以下是一些常用的ls命令参数 -a显示所有文件和目录&#xff0c;包括以.开头的隐藏文件。-l使用长格式列出文件和目录的详细信息&#xff0c;包…

Blender 3D建模要点

3d模型可以为场景的仿真模拟带来真实感&#xff0c;它还有助于更轻松地识别场景中的所有内容。 例如&#xff0c;如果场景中的所有对象都是简单的形状&#xff0c;如立方体和圆形&#xff0c;则很难在仿真中区分对象。 1、碰撞形状与视觉形状 像立方体和球体这样的简单形状&a…

【JAVA笔记】IDEA配置本地Maven

文章目录 1 配置本地Maven1.1 Maven下载1.2 Maven安装与配置1.2.1 安装1.2.2 配置1.2.2.1 环境配置1.2.2.2 本地仓库配置 2 IDEA设置本地Maven 1 配置本地Maven 1.1 Maven下载 官网&#xff1a;http://maven.apache.org/下载地址&#xff1a;http://maven.apache.org/downloa…

机器学习-05-回归算法

总结 本系列是机器学习课程的系列课程&#xff0c;主要介绍机器学习中回归算法&#xff0c;包括线性回归&#xff0c;岭回归&#xff0c;逻辑回归等部分。 参考 fit_transform,fit,transform区别和作用详解&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&am…

HarmonyOS/OpenHarmony应用开发-HDC环境变量设置

hdc&#xff08;HarmonyOS Device Connector&#xff09;是 HarmonyOS 为开发人员提供的用于调试的命令行工具&#xff0c;通过该工具可以在 windows/linux/mac 系统上与真实设备或者模拟器进行交互。 hdc 工具通过 HarmonyOS SDK 获取&#xff0c;存放于 /Huawei/Sdk/openhar…

python统计分析——正态分布

参考资料&#xff1a;python统计分析【托马斯】 正态分布或高斯分布是所有分布函数中最重要的。这是由于当样本数足够大的时候&#xff0c;所有分布函数的平均值都趋近于正态分布。数学上正态分布的特征有平均数μ和标准差σ确定。 其中&#xff0c;-∞<x<∞&#xff0c;…

【STL基础】vector、stack、queue、list、pair、map、unordered_map、set、unordered_set(详细讲解)

vector、list、pair、unordered_map、unordered_set、stack、queue 参考文章&#xff1a; &#xff08;1&#xff09;【apollo】泛型编程 与 STL &#xff08;2&#xff09;c stack用法 入门必看 超详细 &#xff08;3&#xff09;C中queue的用法&#xff08;超详细&#xff0c…

7年产品老兵自述:无代码“导演”数字孪生!

文章导读&#xff1a; 有人说自己天生不适合体制内的工作&#xff0c;当不了金丝雀&#xff0c;只能做野飞的麻雀。但逃离体制&#xff0c;就真的能过上自己想要的生活吗&#xff1f;睿睿的回答是&#xff1a;可以&#xff01;且看内向天蝎男&#xff0c;如何离别体制、一路生…

前端学习笔记 | JS进阶

一、作用域 1、局部作用域 &#xff08;1&#xff09;函数作用域 &#xff08;2&#xff09;块作用域 let和const会产生块作用域 &#xff0c;而var不会产生块作用域 2、全局作用域 script标签和js文件的【最外层】变量 3、作用域链 本质&#xff1a;底层的变量查找机制 4、JS…