/*
* Author: johnsondu
* time: 2013-4-25
* meanning: 求出约数和n ^ m的约数和,快速模取幂,扩展欧几里德,素数筛选
* problem: LightOj 1054
* url: http://lightoj.com/volume_showproblem.php?problem=1054
*
*/
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std ;
#define max(x, y) (x > y ? x : y)
#define min(x, y) (x < y ? x : y)
#define LL long long
#define M 1000005
#define N 1005
const int Mod = 1000000007LL ;
bool ip[M] ;
int p[M], pl ;
LL n, m, pnum, ans ;
struct Node
{
int num ;
int prime ;
}node[N] ;
void init ()
{
for (int i = 2; i < M; i ++)
ip[i] = true ;
pl = 0 ;
for (int i = 2; i < M; i ++)
if (ip[i])
{
p[pl ++] = i ;
for (int j = 2 * i; j < M; j += i)
ip[j] = false ;
}
}
void divide (int t)
{
pnum = 0 ;
for (int i = 0; i < N; i ++)
node[i].num = 0 ;
for (int i = 0;i < pl; i ++)
{
if (t % p[i] == 0)
{
node[pnum].prime = p[i] ;
while (t % p[i] == 0)
{
node[pnum].num ++ ;
t /= p[i] ;
}
pnum ++ ;
}
if (p[i]*p[i] > t)
break ;
}
if (t != 1)
{
node[pnum].prime = t ;
node[pnum].num ++ ;
pnum ++ ;
}
}
void exgcd (LL a, LL b, LL &d, LL &x, LL &y)
{
if (b == 0)
{
x = 1 ;
y = 0 ;
d = a ;
return ;
}
exgcd (b, a%b, d, x, y) ;
LL tmp = x ;
x = y ;
y = tmp - a/b * y ;
}
LL powerMod (LL a, LL b)
{
LL res = 1 ;
while (b)
{
if (b & 1)
{
res = ((res % Mod) * a) % Mod ;
b -- ;
continue ;
}
a = ((a % Mod) * a) % Mod ;
b >>= 1 ;
}
return res ;
}
void solve ()
{
ans = 1 ;
for (int i = 0; i < pnum; i ++)
{
LL u = node[i].prime, v = node[i].num * m ;
ans = (ans * (powerMod (u, v+1) - 1) % Mod + Mod) % Mod ;
LL x, y, d ;
exgcd (u-1, Mod, d, x, y) ;
ans = (ans * x % Mod + Mod) % Mod ;
}
printf ("%lld\n", ans) ;
}
int main ()
{
//freopen ("data.txt", "r", stdin) ;
init () ;
int tcase, cs = 1 ;
scanf ("%d", &tcase) ;
while (tcase --)
{
scanf ("%lld%lld", &n, &m) ;
printf ("Case %d: ", cs ++) ;
divide (n) ;
solve () ;
}
return 0 ;
}
相关推荐
uniapp 基于单选框多选框实现上拉触底多选/单选、回显
showPickerCheckbox弹层显示 label和value 类似下拉框的label和value一个意思 键和值。结果:可以传接口(接口只能post请求) 可以搜索 下面是结果图片展示 单选多选都可以。fieldValue回显传的值 传的是字符串 数组的话[1,2]转为1,2格式传入。mode是控制的单选还是多选 true为多选默认值 其余参数 单选多选一样。fieldName字段名 确定后会返回该字段名 根据字段名找对应的传入值。问题:在uniapp上 实现分页多选的操作。下面是组件的完整代码。
LightOJ 1054 - Efficient Pseudo Code (求n^m的因子和)
1054 - Efficient Pseudo Code PDF (English) Statistics Forum Time Limit: 1 second(s) Memory Limit: 32 MB Sometimes it's quite useful to write pse
Chronos时间序列预测实战:从零开始微调你的第一个大语言模型(附完整代码)
本文提供了一份详细的Chronos时间序列预测大语言模型微调实战指南。从环境搭建、数据预处理到模型配置与训练,手把手教你如何利用自己的数据微调Chronos模型,并完成评估与部署,助你快速掌握这一前沿技术。
lightoj 1054 - Efficient Pseudo Code 求所有n^m的所有因子和
题意:求n^m的所有因子和。 题解:我们需要先知道,一个数X=p1^t1*p2^t2*...*pk^tk(pi为素数),还需要知道X的所有因子和sum(X)=(p1^0+p1^1+...+p1^t1)*...*(pk^0+pk^1+...+pk^tk)。证明略,以前证明过,可以自己在我其他文中找下,好像那题跟这题一样,就是因子都是排列组合ti得到的。所以结果就很简单了,n^m=p1^(t1*m)
Oracle迁移至华为GaussDB SQL语法和存储过程转换
在将Oracle数据库迁移至GaussDB时,SQL语法和存储过程的转换是确保应用程序正常运行和数据完整性的关键环节。由于两者在数据类型、函数、过程语言等方面存在差异,必须系统化地进行转换和测试。正则表达式脚本:批量替换常见的语法差异。SQL解析工具:解析SQL脚本,生成GaussDB兼容的语法。代码审查工具:自动检查转换后的代码,确保语法和逻辑正确。将Oracle迁移至GaussDB涉及到SQL语法和存储过程的全面转换。通过系统化的转换步骤、使用合适的工具并结合手动调整,可以确保迁移过程的顺利进行。
MCGS 昆仑通态触摸屏 modbus TCP 数据转发
MCGS触摸屏数据转发modbus TCP数据转发
lightoj 1054
n^m的因子数之和 http://blog.youkuaiyun.com/a601025382s/article/details/12946973
Autodesk Genuine Service卸载失败?试试这个隐藏文件删除法(Win8-Win11通用)
本文针对Autodesk Genuine Service在Windows系统(Win8-Win11)中卸载失败的常见难题,提供了深度解析与根治方案。核心方法是手动定位并删除两个关键的隐藏文件(ProductInformation.pit和id.dat),以解除文件锁定或数据损坏导致的卸载障碍,随后再通过标准流程即可成功卸载。该方法通用性强,能有效解决这一困扰设计师和工程师的顽固问题。
LightOJ-1054 Efficient Pseudo Code
题意: 求n^m的因子和思路:对n进行素因子分解。n = p1^a1 * p2^a2 * .... * ps^asσ(n) = ((p1^(a1+1)-1)/(p1-1) * ((p2^(a2+1)-1)/(p2-1) * .... * ((pj^(aj+1)-1)/(pj-1)) = Π(j=1 -> s) (pj^(aj+1)-1)/(pj-1) 因子和函数σ定义为整数n的所有正因...
MacTeX+TeXstudio:Macbook配置本地Latex看这一篇就够了
这个博客记录本人在MacBook上配置本地Latex的流程,其中选择的编译环境为MacTeX,编辑器为TeXstudio。采用的原因主要两点:一个是本人配置的原因主要是用来撰写毕业论文,希望能够尽可能简化设置流程,专注内容表达;第二是由于本人还有一个windows系统的笔记本,想要编辑器在专注写作体验的同时在两个系统上能够都适配,从而减少切换效率,故选择此组合。这篇文章介绍并详细记录了本人的安装流程,有相同需求的同志也可借鉴。
Unity Acceleratorc与Cache Server unity的缓存服务器
文章目录1.作用概述2.用法(使用,看这个就够了)服务端下载部署Unity Acceleratorc修改http管理端口修改Editor连接端口客户端使用(设置好一次提交设置,团队拉取即可全部生效)3.测试平台切换测试资源导入测试(打开编辑器的情况下)项目启动测试(不打开编辑器的情况下)4.不同版本表现5.服务端监控6.服务端缓存7.冲突8.预警9.不同项目/不同配置-同种资源10.缓存清除 1.作用概述 编辑器模式下,导入资源,切换平台unity都会重新识别资源,大型项目很浪费时间,使用Cache Ser
lightoj1054 Efficient Pseudo Code(欧拉函数+Divisor function)
题目 求nmn^m所有约数的和在mod 1e9+71e9 + 7的结果; 思路 数学知识点 n可以写成 n=px11∗px22∗...n = p_1^{x1}*p_2^{x2}*...,那么nm=pm∗x11∗pm∗x22...n^m = p_1^{m*x1}*p_2^{m*x2}... 这样就可以用下面这个公式求解了,具体数学看上面的链接,这里x取1; σx(n)=∏ri
【CSP-S 提高组】考试大纲集合
【CSP-S提高组】考试大纲集合
Lightoj 1054 - Efficient Pseudo Code
题目连接: http://www.lightoj.com/volume_showproblem.php?problem=1054 题目大意: 给出n,m,问n^m的所有因子之和是多少? 解题思路: 补充知识: 1:对于一个数字n=p1^t1+p2^t2+p3^t3+.........+pn^tn。求n因子和等价于n所有因子的子集所对应值相加之和—(p1^0+p1^1+p...
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
扩展筛选LightOj 1054 Efficient Pseudo Code
题记:写这篇博客要主是加深自己对扩展筛选的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢。 每日一道理 俄国作家契诃夫说:“有大狗,有小狗,小狗不该因为大狗的存在而心慌意乱。所有的狗都应该叫,就让他各自用上帝给他的声音。 /* * Author: johnsondu * time: 2013-4-25 * meanning: 求出约数和n ^...
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
LightOJ - 1054 - Efficient Pseudo Code
先上题目 1054 - Efficient Pseudo Code PDF (English) Statistics Forum Time Limit: 1 second(s) Memory Limit: 32 MB Sometimes it's quite useful to write pseud...
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
lightoj 1054 - Efficient Pseudo Code (唯一分解定理+逆元)
1054 - Efficient Pseudo Code PDF (English) Statistics Forum Time Limit: 1 second(s) Memory Limit: 32 MB Sometimes it's quite useful to write pseudo codes forproblems. Actually you can w...
LightOJ 1054 - Efficient Pseudo Code(n^m的所有因子之和是多少)
题意:http://www.lightoj.com/volume_showproblem.php?problem=1054 给你n和m 求n的m次方的所有因子和 和求因子个数有一定的关系,一个数 n 可以表示成n = p1^a1 * p2^a2 * p3^a3 * ... pk^ak,(其中pi是n的素因子) 那么n的因子和就是 (p1^0+p1^1+p1^2+...+p1^a1)*(...
Light OJ 1054 Efficient Pseudo Code 求n^m的约数和
题目来源:Light OJ 1054 Efficient Pseudo Code 题意:求n的m次这个数的所有的约数和 思路:首先对于一个数n = p1^a1*p2^a2*p3^a3*…*pk^ak 约束和s = (p1^0+p1^1+p1^2+…p1^a1)(p2^0+p2^1+p2^2+…p2^a2)…(pk^0+pk^1+pk^2+…pk^ak) 然后就是先求素数表 分解因子 然后求
Light oj 1054 - Efficient Pseudo Code
题目:Light oj 1054 - Efficient Pseudo Code 思路:打出65536以内的素数,质因素分解后,判断最后剩下的一个数字如果不等于1的话,说明存在大于16位的素因子,这个特殊判断。 剩下的求约数的和,满足的就是求 (1+p+p^2+p^3...+p^n)的累积(这个式子的展开就是约数之和)这个式子用二分求 #include #include
杭电DP题目(dynamic programming)
<br />这里集中了很多的动态规划题目,我也从这里开始突破啦<br />----------------------------------------------------------------------------------------------<br /> <br /> 记我今天开始,正式向ACM营地出发,努力搞好自己的优快云博客<br /> <br /> turn potential to reality !<br />
HDU 1312 Red and Black
看了好多天的DFS,基本上的程序都是要借助解题报告才可以实现 但是这一题,确实依照自己的思路,完全靠自己写出来的,或许比较简单吧,所以特此发表下文章,犒劳一下自己,再接再厉 http://acm.hdu.edu.cn/showproblem.php?pid=1312 Red
杭电1051 经典贪心
这题真是抓狂,我已经提交了8次,还是没过,我都找不到任何错误数据了粘贴下别人的代码提交下,就是果断过。。。求大牛指点……/* title:Wooden Sticks url: http://acm.hdu.edu.cn/showproblem.php?pid=1051 我的做题思想: 主要是通过下表法,首先对数组的length按从小到大排序 然后,通过第一元素开始,进行比较,如果后面的任一 一组数据与当前数据进行比较,length和weight都比目前 length 和 weight 都小
Uva 10104 Euclid Problem |x|+|y|最小解 扩展欧几里得
/* * url: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1045 * stratege: 求ax+by=gcd(a,b), |x|+|y|的和的x,y,的解, 扩展欧几里得,分四种情况考虑 * status:10541367 1010
hdu 1930 And Now, a Remainder from Our Sponsor 扩展欧几里得 解一元线性同余方程组
/** * url : http://acm.hdu.edu.cn/showproblem.php?pid=1930 * stratege : 解一元线性同余方程组, 扩展欧几里得 * Author: johnsondu * Status: johnsondu 0MS 284K 2207B C++ 2012-08-19 13:13:15 * Trick: There will be n
LightOj 1111 - Best Picnic Ever
/** * Author: johnsondu * time: 2013-4-11 * problem: LightOj 1111 - Best Picnic Ever * url: http://lightoj.com/volume_showproblem.php?problem=1111 * stratege: DFS, count the person who can r
2936



被折叠的 条评论
为什么被折叠?



