poj 1845 (逆元 + 约数和)

11、RK3566/3568 Android11切割屏幕 长条屏 显示 在使用 RK3566 平台进行 Android 11 开发时,遇到切割屏(长条屏)显示画面不全。本文将详细介绍如何配置,以及如何修改 HWComposer 来调整显示区域,解决图像缩放问题。我这边屏幕是lvds接口的,分辨率1920 1080实际的屏物理尺寸是1920x463。 阅读详情

题意:

求A^B的所有约数(即因子)之和,并对其取模 9901再输出。


思路:

 A可以表示为A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn)   其中pi均为素数

那么A的所有因子之和可以表示成

 S = (1+p1+p1^2+p1^3+...p1^k1) * (1+p2+p2^2+p2^3+….p2^k2) * (1+p3+ p3^3+…+ p3^k3) * .... * (1+pn+pn^2+pn^3+...pn^kn)

然后可以转化成等比公式,在求除法同余的时候求逆元

对于 a/b mod m可以转化成 (a mod bm)/m         /*参考ACdreamers



#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
typedef long long ll;
typedef long double ld;
const ld eps=1e-10;
const int inf = 0x3f3f3f;
const int maxn = 1e6+10;
bool check[maxn];
int prime[maxn];

ll tot;



void get_prime()
{
    tot = 0;
    memset(check,false,sizeof(check));
    check[1] = true;
    for(int i = 2; i<= maxn; i++)
    {
        if(!check[i])
        {
            prime[tot++] = i;
            for(int j = i+i; j <= maxn; j+=i)
                check[j] = true;
        }
    }
}

ll multi(ll a,ll b,ll mod)
{
    ll ans = 0;
    a%=mod;
    while(b)
    {
        if(b & 1)
        {
            ans = (ans+a) % mod;
            b -- ;
        }
        a = (a+a) % mod;
        b >>= 1;
    }
    return ans;
}

ll pow_mod(ll a,ll n,ll p)
{
    ll ans = 1;
    a %= p;
    while(n)
    {
        if(n & 1)
        {
            ans = multi(ans,a,p);
            n--;
        }

        a = multi(a,a,p);
        n >>= 1;
    }
    return ans;
}


ll sum(ll x,ll b)
{
    ll t = 1;
    ll tnum = 0;
    ll tmp = x;
    for(int i = 0; i < tot; i++)
    {
        if(tmp % prime[i] == 0)
        {
            tnum = 0;
            while(tmp % prime[i] == 0)
            {
                tmp /= prime[i];
                tnum ++;
            }
            ll M = (prime[i]-1)*9901;
            t *= (pow_mod(prime[i],tnum*b+1,M)-1+M)/(prime[i]-1);
            t %= 9901;
        }
    }
    if(tmp > 1)
    {
        ll M = (tmp-1)*9901;
        t *= (pow_mod(tmp,tnum*b+1,M)-1+M)/(tmp-1);
        t %= 9901;
    }
    return t%9901;
}

int main()
{
    ll a,b;
    get_prime();
    while(scanf("%I64d%I64d",&a,&b) != EOF)
    {
        printf("%I64d\n",sum(a,b)%9901);
    }
    return 0;
}




一文搞懂多速率信号处理中信号插值的本质:从插 0、插原值到线性插值! 信号插值在数字信号处理中经常被使用,但“插值”背后究竟发生了什么,却常被忽略。插0、插原值、线性插值看似只是不同的实现方式,实则对应着完全不同的频域效应与滤波特性。本文将结合公式与MATLAB仿真,深入剖析插0、插原值与线性插值三种典型策略的本质区别。 阅读详情

相关推荐

Keil MDK编译错误#541解决方案与ARM_Compiler包解析

在嵌入式开发中,编译器工具链的依赖管理是确保项目顺利构建的关键环节。以Keil MDK为例,其软件包依赖机制通过组件化设计实现功能解耦,其中ARM_Compiler包专门处理系统IO重定向等编译器扩展功能。这种架构既提升了模块复用性,也带来了版本兼容性挑战。当出现'Error #541: component missing'报错时,通常是由于中间件组件(如文件系统)在新版本中显式依赖了ARM_Compiler包。开发者需要通过Pack Installer安装该包,并在Run-Time Environment

weixin_32129187的博客 364

poj1845(逆元+快速幂)

题目链接:https://vjudge.net/problem/POJ-1845 题意:求A的B次方的所有因子(包括1)的和对9901的模。 思路:首先对A利用唯一分解定理得A=p1x1*p2x2*...*pnxn,则A^B=p1B*x1*p2B*x2*...*pnB*xn。且其所有因子的和等于:     (1+p11+...+p1B*x1)*(1+p21+...+p2B*x2)*...*(...

weixin_34064653的博客 343

从数学到机床:RTCP背后的几何变换与工业实现

本文深入解析RTCP(Rotary Tool Center Point)技术在五轴数控加工中的核心作用,通过几何变换与运动学原理实现刀尖点跟随,确保加工精度。从数学基础到工业实现,详细探讨了算法架构、机床结构适配及精度保障方法,为数控系统开发和高效加工提供关键技术支撑。

jump7的博客 258

POJ-1845 数论

题意就是输入 a,b 输出 a的b次方的因子求和并对9902 取模 这题可以对因子化简 由于唯一分解定理 可以把a表示成 p1^q1*p2^q2...*pn^qn 也就是说 a^b = p1^(q1*b)*p2^(q2*b)...*pn^(qn*b) 由于约数和公式可得a^b得约数求和为(1+p1+p1^2+p1^3+...p1^(q1*b))(1+p2+p2^2+p2^3+...

qq_33859479的博客 353

MITRE ATT&CK超详细学习笔记-01(背景,术语,案例)

MITRE是一个向美国政府提供系统工程、研究开发和信息技术支持的非营利性组织,于1958年从麻省理工学院林肯实验室分离出来后参与了许多最高机密的政府项目,开展了大量的网络安全实践。例如,MITRE公司在1999年发起了常见披露漏洞项目(CVE,CommonVulnera-bilitiesandExposures)并维护至今。其后,MITRE公司还维护了常见缺陷列表(CWE,CommonWeaknessEnumeration)这个安全漏洞词典。.........

Zichel77的博客 1万+

SAP中MRP运行计划行超限问题的分析与解决

SAP中基于生产性物料的采购特点,通常会采用采购计划协议的方式进行采购。其具体的采购计划通常来自于成品计划独立需求,然后通过物料清单,经由MRP跑出。 在采购计划协议中的计划行中,存在一个计划行号,随着MRP在不断跑出新的计划行,该行号资源会消耗完。当计划行号消耗完后,MRP不会再跑出新的计划行。且在MD04或MD02中看不到类似提示信息。此时可以通过MD05来查看是否出现类似下图的提示信息。 ...

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 3844

poj——1845(数论之因子的和)

题目地址:http://poj.org/problem?id=1845 感受:尼玛,0的正整数次方mod9901的结果竟然是1,严重毁三观加坑啊。 解析:就是用等比数列公式加上逆元做的。注如果(p-1)是9901的倍数的话,就直接乘以(count*k+1)个1便可以。(可证明的)。 #include #include #include #include #include #incl

luoshenzhisi 798

Trae 在代码审查场景的 3 大差异化能力:对比 Claude Code、Cursor 与 Codex 实测

揭示代码审查的核心矛盾是上下文断层而非找 Bug,介绍 Trae 通过跨文件符号追踪、意图-实现对齐校验、增量变更影响图谱生成三件事实现上下文校准,并对比其与 Claude Code、Cursor、Codex 在多模块 Java 项目中的实际审查差异

weixin_42525482的博客 151

Poj 1845 (唯一分解定理+快速幂+逆元)

链接:https://vjudge.net/problem/POJ-1845 题意:给定2个自然数a,b,求a^b的所有约数的和 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<vector> #define mod 99...

dukig的博客 275

硬件工程师笔记——运算放大电路Multisim电路仿真实验汇总

本文系统介绍了运算放大电路的基础知识及其应用。主要内容包括:1)运算放大器的基本结构、理想特性及分析方法(虚短、虚断、叠加定理);2)比例运算电路(同向、反向、差分)的工作原理与仿真分析;3)求和运算、加减运算电路的实现方法;4)积分、微分、指数和对数运算电路的基本原理;5)过零电压比较器的功能特点。通过理论分析和仿真实验,详细阐述了各类运算放大电路的输入输出特性、相位关系和增益计算,为硬件工程师提供了实用的电路设计参考。

XU157303764的博客 2477

手把手教你学PCIE--系统内存管理:GART(Graphics Address Remapping Table)的典型用途详解

GART(图形地址重映射表)是GPU的核心组件,主要用于地址映射转换。其典型用途分为物理模式和虚拟模式两类:在物理模式下,GART将GPU虚拟地址映射到分散的物理内存,支持DMA连续访问非连续内存块,适用于GPU渲染纹理采样和AI推理数据搬运等场景;在虚拟模式下,GART配合IOMMU实现多级映射,将GPU虚拟地址转换为虚拟机物理地址再映射到宿主机物理地址,确保多租户隔离,应用于云服务器GPU共享和容器化AI训练等虚拟化环境。两种模式分别优化了高性能计算场景和虚拟化场景的需求。

MHD0815的博客 367

POJ1845(约数之和)

自闭的人的题解 POJ1845 约数之和 题目描述: 给你两个整数A、B,让你求出a^b中所有的约数的和膜上9901的值。 输入 : 两个正整数A,B 输出 : 一个正整数表示答案 样例: IN :2 3 OUT : 15 这道题,我一开始其实是只有暴力的思路的。 但是,又重新去思考一下,因为求的是所有约数的和,所以我们就可以将A分解质因数 \[ A=p_{1}^{c_{1}} * p...

weixin_30545285的博客 285

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

POJ1845 Sumdiv - 乘法逆元+快速幂【A^B的约数个数和】

POJ1845 Sumdiv Sol: 约数个数和\(sumdiv=(1+p_1+p_1^2+\dots + p_1^{c_1})*\dots *(1+p_k+p_k^2+\dots + p_k^{c_k})\) 其中每一项都是一个首项为1,公比为\(p_i\)的等比数列的和,即 \(1*\frac{1-p_i^{c_{k}+1}}{1-p_i}=\frac{p_i^{c_{k}+1}-...

dmqqndlx85675的博客 194

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

POJ 1845 Sumdiv 【整数的素数分解+逆元+快速幂+约数和公式】

题目链接:http://poj.org/problem?id=1845 题意:求A^B的约数和,结果取余 思路: 整数的素数分解:任意一个整数都能通过若干个素数相乘得到,n = p1^a1 * p2 ^a2 * p3^a3 *..... pk^ak;相应的代码模板可以自己网上找找,也可以参考下面的代码 (能将一个整数的所有pi 和 ai 求出并存入数组中) 逆元:平常做的取模运算条件是 a...

Y390d的博客 300

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

1845 -- Sumdiv (poj.org)(乘法逆元,求约数之和)

乘法逆元 板子题: 1845 – Sumdiv (poj.org) 题意: 让求 aba^bab 的所有约数之和 modmodmod 9901 分析: 由算术基本定理的“约数”和推论,对 aaa 做质因数分解 ans=(1+p1+p12+...+p1c1∗b)∗(1+p2+p22+...+p2cn∗b)∗...∗(1+pn+pn2+...+pncn∗b)mod  9901 ans=(1+p_1+p_1^2+...+p_1^{c_1*b})*(1+p_2+p_2^2+...+p_2^{c_n*b})*

yezzz的博客 153

【题解】POJ1845 Sumdiv(乘法逆元+约数和)

POJ1845:http://poj.org/problem?id=1845 思路: AB可以表示成多个质数的幂相乘的形式:AB=(a1n1)*(a2n2)* ...*(amnm) 根据算数基本定理可以得约数之和sum=(1+a1+a12+...+a1n1)*(1+a2+a22+...+a2n2)*...*(1+am+am2+...+amnm) mod 9901 对于每个...

184

POJ 1845 逆元 / 分治

题意 传送门 POJ 1845 题解 逆元 分解质因数 A=p1e1p2e2…pnenA=p_1^{e_1}p_2^{e_2}\dots p_n^{e_n}A=p1e1​​p2e2​​…pnen​​,则约数和为 (1+p1+⋯+p1e1)(1+p2+⋯+p2e2)…(1+pn+⋯+pnen)(1+p_1+\dots +p_1^{e_1})(1+p_2+\dots +p_2^{e_2})\dots (1+p_n+\dots +p_n^{e_n})(1+p1​+⋯+p1e1​​)(1+p2​+⋯+p2e2​​)

neweryyy的博客 221

POJ1845-Sumdiv【逆元,等比数列,约数】

正题 题目链接:http://poj.org/problem?id=1845 题目大意 求ABABA^B次方的约数和。答案mod&nbsp;&nbsp;9901mod&nbsp;&nbsp;9901mod\ \ 9901 解题思路 AAA的约数和就是 (1+p1+p21+p31...+pc11)+(1+p2+p22+p32...+pc22)+...(1+pn+p2n+p3n...

QuantAsk 541

poj 1845 Sumdiv(约数和,乘法逆元)

题目:   求AB的正约数之和。 输入:   A,B(0<=A,B<=5*107) 输出:   一个整数,AB的正约数之和 mod 9901。 思路:   根据正整数唯一分解定理,若一个正整数表示为:A=p1^c1* p2^c2* ......pm^cm则其正约数之和可以表示为:S=(1+p1+p1^2+......p1^c1)*(1+p2+p2^...

a248138552的博客 176

POJ 1845 约数和+二分等比和+逆元

Sumdiv Time Limit: 1000MS   Memory Limit: 30000K       Description Consider two natural numbers A and B. Let S be the sum of all natural divisors of A^B. Determine S modu

black_miracle的博客 333

POJ - 1845 Sumdiv 【约数个数定理 + 约数和定理 + 快速幂 + 逆元】

传送门 必备知识:1 : 约数个数定理: 任意正整数都有且只有一种方式写出其素因子的乘积表达式。 A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn) 其中pi均为素数 2 : 约数和公式: 对于已经分解的整数A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn) 有A的所有因子之和为 S = (1+p1+p1^2

Anxdada -- 我等风来也等你 858

POJ 1845 &&AcWing 97. 约数之和(费马小定理求逆元)

根据约数和的推论知道:A 分解质因数后为,那么可以分解成如下的形式 对于每一个括号内的式子,我们可以利用等比数列求和公式来完成 例如第一个括号可以等价为 由于 mod=9901 为质数,所以很容易想到利用 费马小定理 去求解逆元,但是由于 p-1 可能会大于 mod ,所以 p-1 可能为 mod 的倍数关系,所以需要进行特判 根据公式: 其实也很好想,对于每一个括号内的 p ,对其求余数,都为 1,所以累计求和为 1*Ci+1 最后不要忘记是求解就好,最后加个特判...

C_Dreamy的博客 460

POJ1845 Sumdiv A^B的约数和(逆元解法或二分乘法)

题目链接:http://poj.org/problem?id=1845 题目大意:计算A^B的所有约数的和对9901取模后的结果。 分析:我们知道,对于一个正整数n,我们有n=(p1)^a1*(p2)^a2*...*(pk)^ak,定义约数和函数σ(n)=∏(pi^(ai+1)-1)/(pi-1);那么对于A^B,我们有A^B=(p1)^(B*a1)*(p2)^(B*a2)*.

AC_Gibson的专栏 576

【POJ1845】Sumdiv——杨子曰题目

【POJ1845】Sumdiv——杨子曰题目 Consider two natural numbers A and B. Let S be the sum of all natural divisors of A^B. Determine S modulo 9901 (the rest of the division of S by 9901). Input The only line conta...

杨子曰:代码是神奇的 377

蓝书(算法竞赛进阶指南)刷题记录——POJ1845 Sumdiv(逆元)

题目:POJ1845. 题目大意:给定AAA和BBB,求ABA^BAB的约数和,答案对990199019901取模. 设n=∏i=1kpicin=\prod_{i=1}^{k}p_i^{c_i}n=∏i=1k​pici​​,则nnn的约数和为: σ(n)=∏i=1k∑j=0cipij \sigma(n)=\prod_{i=1}^{k}\sum_{j=0}^{c_i}p_i^{j} σ(n)=i=1...

hzk_cpp的博客 328
上一篇: hdu 5607 BestCoder Round #68 (矩阵快速幂)
下一篇: hdu 3939(勾股+容斥)
Tyuio28
博客等级 码龄11年 12粉丝 279原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值