soj#552 449E Jzzhu and Squares
2024-08-30 10:11:06
分析
https://www.cnblogs.com/Memory-of-winter/p/11209128.html
代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e6+;
const int mod = 1e9+;
int phi[N+],is[N+],a[N+],b[N+],c[N+],n,m,t;
signed main(){
int i,j,k,x=,y=;
for(i=;i<=N;i++)phi[i]=i;
for(i=;i<=N;i++)
if(!is[i])for(j=i;j<=N;j+=i)
is[j]=,phi[j]=phi[j]/i*(i-);
for(i=;i<=N;i++){
x=(x+*i+)%mod;
y=(y+*i*i)%mod;
a[i]=((i*i%mod*i%mod-x*i%mod+y)%mod+mod)%mod;
}
for(i=;i<=N;i++)
for(j=i;j<=N;j+=i)
a[j]=(a[j]+2ll*i*phi[j/i]%mod)%mod;
for(i=;i<=N;i++){
b[i]=(b[i-]+a[i]*i%mod)%mod;
c[i]=(c[i-]+a[i]*i%mod*i%mod)%mod;
a[i]=(a[i]+a[i-])%mod;
}
scanf("%lld",&t);
while(t--){
scanf("%lld%lld",&n,&m);
n++,m++;
int x=min(n,m);
printf("%lld\n",((n*m%mod*a[x]%mod-(n+m)*b[x]%mod+c[x])%mod+mod)%mod);
}
return ;
}
最新文章
- 4541: [Hnoi2016]矿区
- xtrabackup备份rds记录
- 创建 MIME 类型////////////zzz
- VS2008编译bat
- C++ Primer 快速入门
- Swift开发第五篇——四个知识点(Struct Mutable方法&;Tuple&;autoclosure&;Optional Chain)
- ASP.NET MVC系列 框架搭建(二)之仓储层的优化
- OneProxy wiki上线了
- Cryptography加密和解密
- Oracle_集合
- WinForm程序启动控制台窗口Console
- 通配符的匹配很全面, 但无法找到元素 'cache:advice' 的声明
- silverlight+wcf 项目 silverlight获得web程序的参数
- VPN指定某个程序,其实是改路由表(赛风支持VPN和SSH和SSH+模式)
- python中文注释及输出出错
- Paypal-Express Checkout快捷支付方式的android端开发心得(二)
- Windows移动开发(一)——登堂入室
- 面试(3)-java-se-java中的匿名内部类总结
- ●BZOJ 3879 SvT
- Docker 基础 (一)