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

和县网站建设今天大事件新闻

和县网站建设,今天大事件新闻,手机版网站建设合同范本,北京公司网站制作公司目录 一.快速幂 1.问题的引入 2.快速幂的介绍 3.核心思想 4.代码实现 2.猴子碰撞的方法数 1.题目描述 2.问题分析 3.代码实现 一.快速幂 1.问题的引入 问题:求解num的n次幂,结果需要求余7 对于这个问题我们可能就是直接调用函数pow(a,b)来直接求解a的b次幂问题,但是如果…

目录

一.快速幂

1.问题的引入

2.快速幂的介绍

3.核心思想

4.代码实现

 2.猴子碰撞的方法数

1.题目描述

2.问题分析

3.代码实现


一.快速幂

1.问题的引入

问题:求解num的n次幂,结果需要求余10^9+7

对于这个问题我们可能就是直接调用函数pow(a,b)来直接求解a的b次幂问题,但是如果求解的结果很大,超过的double的数值范围,我们要求对最终的结果求余10^9+7,我们如果直接调用pow()函数的话,求解出来的数已经超出了double的最大范围,根本无法求出,这个时候我们是否可以考虑在求解的过程中每一次的结果都求余10^9+7,而不是只在最终的结果求余10^9+7这样最终的结果肯定是小于10^9+7,一定不会超出最大的范围.

2.快速幂的介绍

快速幂:快速幂就是快速算底数的n次幂。其时间复杂度为 O(log₂N),与朴素的O(N)相比效率有了极大的提高。

3.核心思想

例如计算3^{^{10}},10的二进制为1010,相当于求解3^{1010}次方

3^{^{10}}=3*3*3*3*3*3*3*3*3*3

=(3*3)*(3*3*3*3*3*3*3*3)

=3^{2}*3^{8}

相当于我们每次对10的二进制的每一个位置求权(如果是二进制这个位是1),则乘以当前的叠加的数,

例如进行求余3^{^{10}}的步骤 :

定义变量ans保存3^{^{10}}的结果   1010位10的二进制表达方式

1010的第一位为0,这个时候num=num*num=3^{2};    二进制形式为:3^{0010}

1010的第二位为0,这个时候求权为1,ans=ans*num=3^{2}  num=num*num=3^{4};二进制形式为:3^{0100}

1010的第三位为0,这个时候num=num*num=3^{8}; 二进制形式为:3^{1000}

1010的第四位为1,这个时候求权为1,ans=ans*num=3^{2}*3^{8}  num=num*num=3^{16};

4.代码实现

1.求余10^9+7的版本,返回数据类型为int的结果

    public int quickPow(long num,int n){long ans=1;long mod=1000000007;while(n!=0){if((n&1)==1)ans=(ans*num)%mod;num = num * num % mod;n>>=1;}return (int)(ans%mod);}

 2.不求余的版本,返回数据类型为long的结果

    public long quickPow(long num,int n){long ans=1;while(n!=0){if((n&1)==1)ans=ans*num;num = num * num;n>>=1;}return ans;}

 2.猴子碰撞的方法数

1.题目描述

现在有一个正凸多边形,其上共有 n 个顶点。顶点按顺时针方向从 0n - 1 依次编号。每个顶点上 正好有一只猴子 。下图中是一个 6 个顶点的凸多边形。

 

每个猴子同时移动到相邻的顶点。顶点 i 的相邻顶点可以是:

  • 顺时针方向的顶点 (i + 1) % n ,或
  • 逆时针方向的顶点 (i - 1 + n) % n

如果移动后至少有两个猴子位于同一顶点,则会发生 碰撞

返回猴子至少发生 一次碰撞 的移动方法数。由于答案可能非常大,请返回对 109+7 取余后的结果。

注意,每只猴子只能移动一次。

力扣: 力扣

2.问题分析

正难则反,题目问的是至少发生一次碰撞的移动次数,我们不妨把问题转换为求解猴子一次都不碰撞的次数,猴子一共有2的n次幂中跳跃的方式,求中有两种是一次都不碰撞的,一种是猴子全部顺时针进行跳跃,一种是猴子逆时针进行跳跃,所以猴子至少发生一次碰撞的次数=猴子总共的移动次数-2

3.代码实现

    public int monkeyMove(int n) {long ans=1,a=2;long mod=1000000007;while(n!=0){if((n&1)==1)ans=(ans*a)%mod;a = a * a % mod;n>>=1;}return (int)((ans+mod-2)%mod);}

 

 

http://www.mnyf.cn/news/53473.html

相关文章:

  • 政府网站建设的现状及问题分析厦门网站推广公司哪家好
  • 正一品网站建设百度推送
  • 如何不备案做购物网站网站流量排行
  • 做网站选择什么服务器谷歌在线浏览器免费入口
  • 锦州市城乡规划建设委员会网站网站怎么推广效果好一点呢
  • zoho企业邮箱谷歌seo详细教学
  • 网站地域分站怎么做专业营销团队公司
  • b2b网站用户群分类seo是怎么优化
  • 网站的cgi-bin目录seo咨询服务
  • 优秀seo外包平台进行seo网站建设
  • ASP图书信息管理系统网站建设百度平台app下载
  • 做网站公司怎么样谷歌推广怎么样
  • 怎样做寻亲网站志愿者seo外链平台热狗
  • 做外贸如何选择网站电销系统软件排名
  • 网站建设公司转型最新经济新闻
  • 编程除了做网站还能干什么百度小说
  • 有效的网站建设东莞网站建设工作
  • 网站开发合同受托方百度推广图片尺寸要求
  • 网站的黄金看盘软件今日热点新闻头条排行榜
  • 个人音乐网站策划书范文如何让百度收录网站
  • 女生去住建局好不好seo流量排名软件
  • 淘客导航网站开发上海专业seo服务公司
  • 在招聘网站做电话销售怎么样网络游戏推广员的真实经历
  • 网站建设与网页制作实训报告奉化网站关键词优化费用
  • 做网站具体步骤网站排名优化快速
  • 公司建设网站的目的seo外链怎么做能看到效果
  • 比翼网站建设上海网优化seo公司
  • 个人交互网站重庆百度seo公司
  • 上海南汇中学门户网站推广优化
  • 西安网站建设培训中心今日头条网站推广