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

省示范院校建设网站网络营销的现状分析

省示范院校建设网站,网络营销的现状分析,咸阳网站开发联系方式,国外素材网pinterest目录 一.快速幂 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.yidumall.com/news/94916.html

相关文章:

  • 怎么做网站报价表太原今日新闻最新头条
  • 建设彩票网站合法吗广州高端网站建设公司
  • 花生壳做局域网站百度seo新规则
  • 专门做喷涂设备的网站百度搜索提交入口
  • 一般网站的后台怎么做的seo工具优化软件
  • 企业类网站有哪些销售的三个核心点
  • 装修公司logo设计图片seo销售
  • 河南网站开发网络营销策划的目的
  • 莆田网站建设收费标准品牌网站设计
  • 广州百度网站建设公司app推广方案模板
  • 找事做搜索网站网络营销咨询公司
  • 新疆建筑工程网站平面设计培训
  • 福州网站建设服务价格最实惠2023年中国进入一级战备状态了吗
  • 做移动网站优化优信息流优化师发展前景
  • 律师事务所 网站建设提高工作效率的方法有哪些
  • 用github做静态网站百度优化排名软件
  • 网络域名怎么看seo代码优化有哪些方法
  • 公司网站备案查询建站流程主要有哪些
  • 淘宝接网站开发的活网站建设服务公司
  • 网站建设junke100app开发公司有哪些
  • 宁波建设网站报价新网站应该怎么做seo
  • 常州妇幼做的无创 在哪个网站查网站推广怎么做才有效果
  • php企业网站开发实训报告seo诊断报告
  • 微网站怎样做更先进的seo服务
  • 很有设计感的企业网站网站推广的具体方案
  • 网站建设西安哪里好武汉标兵seo
  • 有哪些做平面设计好的网站有哪些网站seo关键词优化排名
  • java游戏网站建设网页制作免费模板
  • 温州瓯北做网站成人职业技能培训有哪些项目
  • 哈尔滨做网站哪家好外链推广