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

省示范院校建设网站aso关键词优化工具

省示范院校建设网站,aso关键词优化工具,买空间的网站,网络运营商是干嘛的目录 一.快速幂 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.ds6.com.cn/news/79390.html

相关文章:

  • 网站备案的流程四川二级站seo整站优化排名
  • 游戏下载网站模板北京搜索优化推广公司
  • 新乡网站开发附近广告公司
  • 玉溪企业网站建设公司产品推广文案100字
  • 做网站难吗免费二级域名分发网站
  • 最佳搜索引擎磁力吧关键词的优化方案
  • 网站开发可以用gif吗手机百度官网
  • 网页设计与制作教程期末考试题张家界网站seo
  • 怎么做淘宝网站赚钱石首seo排名
  • 企业门户模板上海优化营商环境
  • 网站建设方案书备案百度sem运营
  • seo整站优化报价东莞seo推广机构帖子
  • 做我的狗在什么网站上看云南百度公司
  • 人是用什么做的视频网站推广赚钱
  • 网站建设图网站代搭建维护
  • 怎么做网站的步骤哪家网络公司比较好
  • 北京天通苑 做网站宣传页面怎么制作
  • app制作多少钱一个简述seo和sem的区别
  • 无锡专业网站建设网站如何优化关键词排名
  • 重庆建工集团建设网站百度收录申请入口
  • 政府网站互动回应板块建设泰州seo平台
  • 网站制作的差异化定位交换友情链接推广法
  • 自己免费建设网站东莞外贸推广公司
  • 食品网站建设 网站定制开发关键词seo是什么意思
  • 帮别人做非法网站自首搜索软件排行榜前十名
  • 域名邮箱怎么弄天津seo网站推广
  • 网站空间ftp下载慢网站优化外包顾问
  • 网站开发费用是无形资产谷歌平台推广外贸
  • wordpress 地图导航安卓优化大师老版本下载
  • 提交收录网站建网站要多少钱