HDU 6063 - RXD and math | 2017 Multi-University Training Contest 3
2024-09-05 06:36:48
比赛时候面向过题队伍数目 打表- -
看了题解发现确实是这么回事,分析能力太差..
/*
HDU 6063 - RXD and math [ 数学,规律 ] | 2017 Multi-University Training Contest 3
题意:
求 Σ μ(i)^2 * sqrt( n^k/i ) [ 1 <= i<= n^k ]
n,k <= 1e18
分析:
首先 μ(i) 为莫比乌斯函数,若 i 是完全平方数的倍数则 μ(i) = 0 ,否则 μ(i) = ±1
所以只有不是完全平方数的倍数的数才会对答案产生贡献
然后任何数都能表示为 x = a^2*b,即仅为一个非完全平方数的b的平方倍数
n^k/i 代表 n^k 中 i 的倍数的个数
则 sqrt(n^k/i) 代表 i 的 平方倍数 的个数
联系前面的 x = a^2*b ,可推得相当于每个数都只算了一次
故答案为 n^k
*/
#include <bits/stdc++.h>
using namespace std;
#define LL long long
const LL MOD = 1e9+7;
LL PowMod(LL a, LL m)
{
a %= MOD;
LL ret = 1;
while (m)
{
if (m&1) ret = ret*a%MOD;
a = a*a % MOD;
m >>= 1;
}
return ret%MOD;
}
int main()
{
LL n, k;
int tt = 0;
while (~scanf("%lld%lld", &n, &k))
{
printf("Case #%d: %lld\n", ++tt, PowMod(n, k));
}
}
最新文章
- mysql 安装
- [moka同学笔记]七、Yii2.0课程笔记(魏曦老师教程)[新增管理员,重置密码]
- C# 调用cmd命令行路径中带空格问题
- pdf 切割成圖片的方法
- Theano3.3-练习之逻辑回归
- linux下遍历目录(转-在于思考)
- 基于HDInsight 3.4 HBase集群规划参考
- uvalive 3218 Find the Border
- 汇总一些知名的 JavaScript 开发开源项目
- Python 内置方法
- Unity角色残影特效
- [Swift]LeetCode942. 增减字符串匹配 | DI String Match
- mysql授权用户,撤销用户,撤销权限基本操作
- cowboy源码分析(二)
- [工作积累] Tricks with UE4 PerInstanceRandom
- Java面试题以及答案精选(架构师面试题)-基础题1
- spring Boot(十九):使用Spring Boot Actuator监控应用
- js this详解,事件的三种绑定方式
- Java之字符流操作-复制文件
- nyoj Registration system
热门文章
- Python+requests 发送简单请求--》获取响应状态--》获取请求响应数据
- Python 解LeetCode:23. Merge k Sorted Lists
- ubuntu下安装navicat
- (十五)springMvc 拦截器
- 剑指offer19:按照从外向里以顺时针的顺序依次打印出每一个数字,4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
- java Map 四种遍历方法
- 【ES6 】ES6 解构赋值--函数参数解构赋值
- 【php设计模式】门面模式
- async/await 处理多个网络请求同步问题
- 在php中连接数据库 pdo