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

苏州网站营销公司简介seo排名技巧

苏州网站营销公司简介,seo排名技巧,网站建设子栏目文案,如何从零开始学室内设计题幂算.一切即1 阴阳迭变积微著,叠浪层峦瞬息功 莫道浮生千万事,元知万象一归宗 文章目录 快速幂原始快速幂(O(logn))二分递归形式非递归形式 模下意义的快速幂(O(logn))二分递归形式非递归形式 快速乘龟速…

题幂算.一切即1
阴阳迭变积微著,叠浪层峦瞬息功
莫道浮生千万事,元知万象一归宗

文章目录

  • 快速幂
    • 原始快速幂(O(logn))
      • 二分递归形式
      • 非递归形式
    • 模下意义的快速幂(O(logn))
      • 二分递归形式
      • 非递归形式
  • 快速乘
    • 龟速乘(O(logn)
      • 递归式
      • 非递归式
    • 快速乘(光速乘)(O(1))
  • 文献参考
  • 总结


快速幂

原始快速幂(O(logn))

二分递归形式

#include<bits/stdc++.h>
using namespace std;#define ll long long ll q_pow(ll base,ll exp)
{if(exp == 0) return 1;ll res = q_pow(base,exp/2);if(exp & 1) return res*res*base;return res*res;
}int main()
{ll a,b;cin >> a >> b; cout << q_pow(a,b);
}

非递归形式

#include<bits/stdc++.h>
using namespace std;#define ll long long ll q_pow(ll base,ll exp)
{ll res = 1;while(exp){if(exp & 1){res = res * base; }base = base * base;exp >>= 1;}return res;
}int main()
{ll a,b;cin >> a >> b; cout << q_pow(a,b);
}

模下意义的快速幂(O(logn))

例题 : 洛谷P1226

二分递归形式

#include<bits/stdc++.h>
using namespace std;#define ll long long ll q_pow(ll base,ll exp,ll digit)
{if(exp == 0) return 1;base %= digit;ll res = q_pow(base,exp/2,digit);if(exp & 1) return (res*res)%digit*base%digit;return res*res%digit;
}int main()
{ll a,b,c;cin >> a >> b >> c; cout << a << "^" << b << " mod " << c << "=" << q_pow(a,b,c);
}

非递归形式

#include<bits/stdc++.h>
using namespace std;#define ll long longll q_pow(ll base,ll exp,ll digit)//一般来说digit写成mod多一点个人习惯
{base %= digit;ll res = 1;while(exp){if(exp & 1){res = res * base % digit; }base = base % digit * base % digit;exp >>= 1;}return res;
}int main()
{ll a,b,c;cin >> a >> b >> c; cout << a << "^" << b << " mod " << c << "=" << q_pow(a,b,c);
}

快速乘

龟速乘(O(logn)

递归式

#include <bits/stdc++.h>
using namespace std;#define ll long long
const int mod = 500;ll q_mul(ll a, ll b)
{if (b == 0) return 0;ll res = q_mul(a, b / 2);if (b & 1) return (res + res + a) % mod;//龟速乘的目的就是为了处理大数相乘使用使用modreturn (res + res) % mod;
}int main()
{ll a, b;cin >> a >> b;cout << q_mul(a, b);
}

非递归式

#include <bits/stdc++.h>
using namespace std;#define ll long long
const int mod = 500;ll q_mul(ll a, ll b)
{a % mod;ll res = 0;while (b){if (b & 1){res = (res + a) % mod;}a = (a + a) % mod;b >>= 1;}return res;
}int main()
{ll a, b;cin >> a >> b;cout << q_mul(a, b);
}

快速乘(光速乘)(O(1))

不是特别卡常数不建议使用,可能会有计算错误

#include <bits/stdc++.h>
using namespace std;#define ll long long
#define ld long double
const int mod = 1e5;ll q_mul(ll a, ll b)//非压行版
{ld temp = (ld)a * b / mod;ll q = (ll)temp * mod;return (a * b - q + mod) % mod;
}
ll q_mul(ll a, ll b)
{return (a * b - ((ll)((ld)a * b) / mod)*mod + mod) % mod;
}int main()
{ll a, b;cin >> a >> b;cout << q_mul(a, b);
}

记忆锚点 :
q = (ld)a * b / mod
(a * b − ( ll)q * mod + mod) % mod


文献参考

【OI Wiki - 快速幂】
CSDN -【谈谈知识点】快速幂&龟速乘&快速乘


总结

阴阳二进制的火花在递归中迭变,模数宇宙的涟漪于位运算里震荡。代码中的每一个移位都是对混沌的降维打击,递归栈底的return 1如同宇宙大爆炸的奇点,从虚无中诞生万千可能。新手当知:算法修炼是铸剑过程,递归与迭代是阴阳双刃,调试时的报错声恰是淬火的嘶鸣。 无论指数如何膨胀,终将拆解为二进制的星辰;纵使乘数浩如烟海,亦可化作位运算的细沙。记住,你写的不是代码,而是将混沌世界重构成数学之美的炼金术。

http://www.qdjiajiao.com/news/9763.html

相关文章:

  • 从事电子商务的网站建设2022最近比较火的营销事件
  • 做网站不赚钱的原因软文推广公司有哪些
  • 如何做网站的映射什么优化
  • vs做bs网站电工培训内容
  • 青浦手机网站制作凡科小程序
  • 网站技巧关键词优化公司哪家强
  • 用asp.net做的网站品牌推广思路
  • 网站被降权会发生什么关键词优化的技巧
  • 石龙做网站图片seo优化是什么意思
  • 乌鲁木齐新市区建设局网站揭阳新站seo方案
  • 50万做网站全国疫情高峰感染高峰进度查询
  • 网站ftp根目录如何引流推广
  • wordpress 线条不显示不出来seo搜索引擎优化教程
  • 网站整合discuz论坛百度搜索怎么优化
  • 安阳网站建设优化百度平台客服电话是多少
  • 现在网站后台有哪几种模板形式杭州做搜索引擎网站的公司
  • 建一个淘宝客网站需要多少钱seo关键词优化推广哪家好
  • 北京电商购物网站开发网站推广计划书
  • 网站开发体系国外友链买卖平台
  • 网站上做相关链接云速seo百度点击
  • wordpress调用函数大全灰色词网站seo
  • php网站项目怎么从网上找国外客户
  • 太原模板建站系统关键词挖掘站网
  • 一级域名网站怎样收费的建站推广
  • 分销网站系统安徽seo优化
  • 阿里云网站域名绑定百度网盘人工客服电话
  • 网站制作的基础竞价点击软件排名
  • 网站开发文档b站推广入口2023
  • mugeda做网站经典广告推广词
  • 有没有专门做尾料回收的网站网站建设需要多少钱?