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

山东省和城乡建设厅网站wordpress 插件教程

山东省和城乡建设厅网站,wordpress 插件教程,wordpress海淘,如何做简洁网站Powered by:NEFU AB-IN Link 文章目录97. 约数之和题意思路代码97. 约数之和 题意 假设现在有两个自然数 A和 B,S是 A^B的所有约数之和。 请你求出 S mod 9901的值是多少。 思路 ABA^BAB的约数之和为:sumAB(1p1p12...p1Ba1)(1p2p22...p2Ba2)...sum_{A^B…

Powered by:NEFU AB-IN

Link

文章目录

  • 97. 约数之和
    • 题意
    • 思路
    • 代码

97. 约数之和

  • 题意

    假设现在有两个自然数 A和 B,S是 A^B的所有约数之和。
    请你求出 S mod 9901的值是多少。

  • 思路

    ABA^BAB的约数之和为:sumAB=(1+p1+p12+...+p1B×a1)×(1+p2+p22+...+p2B×a2)×...sum_{A^B} = (1 +p_1 + p_1 ^ 2 + ... + p_1^{B×a_1}) × (1 +p_2 + p_2 ^ 2 + ... + p_2^{B×a_2}) × ...sumAB=(1+p1+p12+...+p1B×a1)×(1+p2+p22+...+p2B×a2)×...
    为什么最高项是B×aB×aB×a呢,最高项代表ppp这个质因子的个数,一开始AAAxxxppp,那么A3=A×A×AA^3=A×A×AA3=A×A×A就有3x3x3xppp

    • 做法一:等比数列求和 + 快速幂

      所以,对于每个质因子,根据等比数列求和公式 (1+p+p2+...+pB×a)=pB×a+1−1p−1(1 +p + p ^ 2 + ... + p^{B×a}) = \frac{p^{B×a+1}-1}{p-1}(1+p+p2+...+pB×a)=p1pB×a+11
      那么,对AAA进行质因子分解

      • pB×a+1p^{B×a+1}pB×a+1快速幂
      • 1p−1\frac{1}{p-1}p11费马小定理求逆元,但必须保证p−1p-1p1MODMODMOD互质
        • p−1p-1p1MODMODMOD互质,正常求即可
        • p−1p-1p1MODMODMOD不互质,我们无法求逆元,就换种思路求表达式。因为 p%MOD=1p \% MOD = 1p%MOD=1(1+p+p2+...+pB×a)%MOD=1+B×a×1=1+B×a(1 +p + p ^ 2 + ... + p^{B×a}) \% MOD= 1 + B×a ×1 = 1 + B×a(1+p+p2+...+pB×a)%MOD=1+B×a×1=1+B×a,所以直接返回1+B×a1 + B×a1+B×a即可

      复杂度 O(nlog(n))O(\sqrt{n}log(n))O(nlog(n))

    • 做法二:分治 + 快速幂
      定义 sum(p,k)=(1+p+p2+...+pk)sum(p, k) = (1 +p + p ^ 2 + ... + p^{k})sum(p,k)=(1+p+p2+...+pk),共k+1k +1k+1

      • kkk奇数时,项数为偶数,以下默认k2=⌊k2⌋\frac{k}{2} =\lfloor \frac{k}{2} \rfloor2k=2k
        原式=(p0+p1+...+pk2)+(pk2+1+...+pk)=(p0+p1+...+pk2)+pk2+1×(p0+p1+...+pk2)=(1+pk2+1)×sum(p,k2)=(p^0+p^1+...+p^{\frac{k}{2}}) +(p^{\frac{k}{2} +1}+...+p^k) = (p^0+p^1+...+p^{\frac{k}{2}}) + p^{\frac{k}{2} +1} × (p^0+p^1+...+p^{\frac{k}{2}}) = (1 + p^{\frac{k}{2} +1} ) × sum(p, \frac{k}{2})=(p0+p1+...+p2k)+(p2k+1+...+pk)=(p0+p1+...+p2k)+p2k+1×(p0+p1+...+p2k)=(1+p2k+1)×sum(p,2k)
      • kkk偶数时,转化为奇数情况,sum(p,k)=sum(p,k−1)+pksum(p,k) = sum(p ,k - 1) + p^ksum(p,k)=sum(p,k1)+pk

      复杂度 O(nlog(n)log(n))O(\sqrt{n}log(n)log(n))O(nlog(n)log(n))

    • 超时做法三:递推
      (p0+p1+...+pk)(p^0+p^1+...+p^k)(p0+p1+...+pk),可用递推式,ans = ans * p + 1,但此做法会超时

  • 代码

    做法一

    /** @Author: NEFU AB-IN* @Date: 2023-02-18 11:22:46* @FilePath: \Acwing\97\97.cpp* @LastEditTime: 2023-02-18 23:11:41*/
    #include <bits/stdc++.h>
    using namespace std;
    #define int long long
    #undef int#define SZ(X) ((int)(X).size())
    #define ALL(X) (X).begin(), (X).end()
    #define IOS                                                                                                            \ios::sync_with_stdio(false);                                                                                       \cin.tie(nullptr);                                                                                                  \cout.tie(nullptr)
    #define DEBUG(X) cout << #X << ": " << X << '\n'
    typedef pair<int, int> PII;const int N = 1e5 + 10, INF = 0x3f3f3f3f, MOD = 9901;int quickmod(int a, int b)
    {a %= MOD;int res = 1;while (b){if (b & 1)res = res * a % MOD;a = a * a % MOD;b = b >> 1;}return res % MOD;
    }signed main()
    {IOS;int a, b;cin >> a >> b;if (!a){cout << 0;return 0;}// 质因子分解unordered_map<int, int> mp;for (int i = 2; i <= a / i; ++i){while (a % i == 0){mp[i]++;a /= i;}}if (a > 1)mp[a]++;int ans = 1;auto f = [&](int p, int n) {if ((p - 1) % MOD == 0)return n + 1;int pp = quickmod(p, n + 1);int ny = quickmod(p - 1, MOD - 2);return (pp - 1 + MOD) * ny % MOD;};for (auto [x, cnt] : mp){ans = ans * f(x, cnt * b) % MOD;}cout << ans;return 0;
    }

    做法二

    /** @Author: NEFU AB-IN* @Date: 2023-02-18 12:21:32* @FilePath: \Acwing\97\97.1.cpp* @LastEditTime: 2023-02-19 11:36:53*/
    #include <bits/stdc++.h>
    using namespace std;
    #define int long long
    #undef int#define SZ(X) ((int)(X).size())
    #define ALL(X) (X).begin(), (X).end()
    #define IOS                                                                                                            \ios::sync_with_stdio(false);                                                                                       \cin.tie(nullptr);                                                                                                  \cout.tie(nullptr)
    #define DEBUG(X) cout << #X << ": " << X << '\n'
    typedef pair<int, int> PII;const int N = 1e5 + 10, INF = 0x3f3f3f3f, MOD = 9901;int quickmod(int a, int b)
    {a %= MOD;int res = 1;while (b){if (b & 1)res = res * a % MOD;a = a * a % MOD;b = b >> 1;}return res % MOD;
    }int sum(int p, int k)
    {if (k == 0)return 1;if (k % 2 == 0)return sum(p, k - 1) % MOD + quickmod(p, k) % MOD;return sum(p, k / 2) % MOD * (1 + quickmod(p, k / 2 + 1)) % MOD;
    }int main()
    {IOS;int a, b;cin >> a >> b;if (!a){cout << 0;return 0;}// 质因子分解unordered_map<int, int> mp;for (int i = 2; i <= a / i; ++i){while (a % i == 0){mp[i]++;a /= i;}}if (a > 1)mp[a]++;int ans = 1;for (auto [x, cnt] : mp){ans = ans * sum(x, cnt * b) % MOD;}cout << ans;return 0;
    }
    
http://www.yayakq.cn/news/826758/

相关文章:

  • 没备案的网站能用吗潍坊市高新区建设局网站
  • 做网站赤峰搭建农村电商平台
  • 上海百度seo网站优化引擎优化
  • 网络调查问卷在哪个网站做可拖拽html网页编辑器
  • 网站开发中 登录不上了制作网页多少钱
  • 深圳市住房和建设局网站变更企业官网入口
  • 外贸建站服务平面设计线上培训机构推荐
  • 房产中介网站建设模板建立网站的请示
  • 什么建网站免费手机网站建设 豆丁
  • 简单个人网站开发代码开源影视cms系统
  • 网站开发html工具成都网站建设定制开发系统
  • 台前网站建设费用深圳做网站的价格
  • asp网站栏目如何修改怎样做农产品交易平台网站
  • 做网站语言知乎wordpress打赏
  • 网站建设项目报告书织梦做英文网站
  • 漳州网站建设求职简历网站怎么开发
  • 胶州为企业做网站的公司网页制作软件手机版
  • 贴吧做网站药品加工厂做网站
  • 做短视频的网站都有哪些化妆品网站开发背景
  • 网站网页基本情况 网页栏目设置网站备案需要关闭
  • 免费微网站apache建wordpress
  • 网站建设适合手机路由优化大师
  • 两学一做网站视频青岛vi设计公司
  • 江苏建设个人信息网站wordpress 镜像域名
  • 有什么做宝宝辅食的网站吗五寨网站建设
  • 一级a做爰片51网站好网
  • 怎样给网站做排名优化网站设置ico
  • 平面设计欣赏网站推荐制作一个app软件
  • 网站平台建设费计入什么科目企业适合用模板网站
  • 关于省钱的网站名字邯郸的互联网公司