bzoj3561DZY Loves Math VI
3561: DZY Loves Math VI
Time Limit: 10 Sec Memory Limit: 256 MB
Submit: 503 Solved: 333
[Submit][Status][Discuss]
Description

Input
Output
Sample Input
Sample Output
HINT
数据规模:
1<=n,m<=500000,共有3组数据。
Source
莫比乌斯反演
http://blog.csdn.net/lych_cys/article/details/50721642?locationNum=1&fps=1
#include<bits/stdc++.h>
#define ll long long
#define mod 1000000007
#define N 500001
using namespace std;
int n,m,cnt,mo[N],p[N>>],vis[N];ll a[N],sum[N],ans;
void predeal(){
mo[]=;
for(int i=;i<N;i++){
if(!vis[i]){mo[i]=-;p[++cnt]=i;}
for(int j=;j<=cnt&&i*p[j]<N;++j){
vis[i*p[j]]=;
if(i%p[j])mo[i*p[j]]=-mo[i];
else{mo[i*p[j]]=;break;}
}
}
}
int quick(int a,int b){
int ret=;
while(b){
if(b&)ret=1ll*a*ret%mod;
a=1ll*a*a%mod;b>>=;
}
return ret;
}
int main(){
scanf("%d%d",&n,&m);predeal();if(n>m)swap(n,m);
for(int i=;i<N;i++)a[i]=;
for(int i=;i<=n;i++){
ll res=;
for(int j=;j*i<=m;++j)
a[j]=a[j]*j%mod,sum[j]=(sum[j-]+a[j])%mod;
for(int j=;j*i<=n;++j)
if(mo[j])res=(res+mo[j]*a[j]*a[j]%mod*sum[n/i/j]%mod*sum[m/i/j]%mod)%mod;
ans=(ans+res*quick(i,i)%mod)%mod;
}
ans<?ans+=mod:;printf("%lld\n",ans);
return ;
}
bzoj3561DZY Loves Math VI的更多相关文章
- 【BZOJ3561】DZY Loves Math VI (数论)
[BZOJ3561]DZY Loves Math VI (数论) 题面 BZOJ 题解 \[\begin{aligned} ans&=\sum_{i=1}^n\sum_{j=1}^m\sum_ ...
- BZOJ 3561 DZY Loves Math VI
BZOJ 3561 DZY Loves Math VI 求\(\sum_{i=1}^{n}\sum_{j=1}^{m}\text{lcm}(i,j)^{\gcd(i,j)}\),钦定\(n\leq m ...
- 【BZOJ 3561】 3561: DZY Loves Math VI (莫比乌斯,均摊log)
3561: DZY Loves Math VI Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 205 Solved: 141 Description ...
- [BZOJ3561] DZY Loves Math VI
(14.10.28改) 本来只想写BZOJ3739:DZY Loves Math VIII的,不过因为和VI有关系,而且也没别人写过VI的题解,那么写下. 不过我还不会插公式…… http://www ...
- 【BZOJ】3561: DZY Loves Math VI
题意 求\(\sum_{i=1}^{n} \sum_{j=1}^{m} lcm(i, j)^{gcd(i, j)}\)(\(n, m<=500000\)) 分析 很显然要死推莫比乌斯 题解 设\ ...
- ●BZOJ 3561 DZY Loves Math VI
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3561 题解: 莫比乌斯反演 $$\begin{aligned}ANS&=\sum_{ ...
- 【BZOJ 3561】 DZY Loves Math VI
题目: 给定正整数n,m.求 题解: 水题有益身心健康.(博客园的辣鸡数学公式) 其实到这我想强上伯努利数,然后发现$n^2$的伯努利数,emmmmmm 发现这个式子可以算时间复杂度,emmmmm ...
- BZOJ3561 DZY Loves Math VI 莫比乌斯反演
传送门 看到\(gcd\)相关先推式子(默认\(N \leq M\)): \(\begin{align*} \sum\limits_{i=1}^N \sum\limits_{j=1}^M (lcm(i ...
- BZOJ3561 DZY Loves Math VI 数论 快速幂 莫比乌斯反演
原文链接http://www.cnblogs.com/zhouzhendong/p/8116330.html UPD(2018-03-26):回来重新学数论啦.之前的博客版面放在更新之后的后面. 题目 ...
随机推荐
- Node入门教程(2)第一章:NodeJS 概述
Node 概述 什么是 Node Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...
- 彻底搞懂shell的高级I/O重定向
本文目录: 1.1 文件描述符(file description,fd) 1.2 文件描述符的复制 1.3 重定向顺序很重要:">file 2>&1"和&quo ...
- hadoop2.6.0实践:004 启动伪分布式hadoop的进程
[hadoop@LexiaofeiMaster hadoop-2.6.0]$ start-dfs.shStarting namenodes on [localhost]localhost: start ...
- Django之Model进阶的更多操作
Django之Model进阶的更多操作 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) ...
- Python基础-用户验证
一.项目需求 1.根据用户名和密码,验证用户是否可登陆 2.允许一次执行可验证三次 3.当用户名输错三次后,该用户名锁定,永久不可登陆 二.代码如下 #!/usr/bin/env python #-* ...
- evel()与JSON.parset()的区别
var x=alert("hello")evel("x");eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码:消耗大量内存,尤其是 ...
- laydate 日期格式为yyyy 或yyyy-MM时,出现错误Uncaught TypeError: Cannot read property 'length' of undefined
这个改起比较麻烦,没有深究,简单兼容了yyyy 和yyyy-MM,其他格式可能还是会有错误.替换Dates.check方法. //检测日期是否合法 Dates.check = function(){ ...
- angularjs bind与model配合双向绑定 表达式方法输出
<!doctype html><html lang="en"><head> <meta charset="UTF-8" ...
- js if for 详解 获取元素方式 及一些js 基础知识
##获取元素的新方法## --document.querySelector('Css Selector{css选择器}') 接收一个css选择器(通配,群组,类,包含,id....等) 若这个选择器对 ...
- ASwipeLayout一个强大的侧滑菜单控件
Android中侧滑的场景有很大,大部分是基于RecyclerView,但是有些时候你可以动态地addView到一个布局当中,也希望它实现侧滑,所以就产生了ASwipeLayout,该控件不仅支持在R ...