也是一个反演。

第一次手动推出一个简单的式子,激动.jpg

原题意思是求:
$Ans=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}\phi(gcd(i,j))$
随意化几步试试:
$Ans=\sum\limits_{d=1}^{min(n,m)}\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}\phi(d)[gcd(i,j)==d]$
$Ans=\sum\limits_{d=1}^{min(n,m)}\sum\limits_{i=1}^{\frac{n}{d}}\sum\limits_{j=1}^{\frac{m}{d}}\phi(d*gcd(\frac{i}{d},\frac{j}{d}))[gcd(i,j)==1]$
提前$\phi(d)$函数
$Ans=\sum\limits_{d=1}^{min(n,m)}\phi(d)\sum\limits_{i=1}^{\frac{n}{d}}\sum\limits_{j=1}^{\frac{m}{d}}[gcd(i,j)==1]$
后面就是bzoj1101的形式了,随便化。
然后就可以分块了。
$\phi,\mu$可以前缀和,剩下的分块就好。

 #include<bits/stdc++.h>
#define N 10000010
using namespace std;
typedef long long ll;
int n,m,prime[N],cnt,vis[N];
ll f[N];
void calcpre(){
f[]=;cnt=;memset(vis,,sizeof(vis));
for(int i=;i<=N;i++){
if(vis[i]){prime[++cnt]=i;f[i]=i-;}
for(int j=;j<=cnt;j++){
int t=i*prime[j];if(t>N)break;
vis[t]=;int p=prime[j];
if (i%p)f[t]=f[i]*f[p];
else{
f[t]=(i/p)%p?f[i/p]*(p-)*(p-):f[i]*p;
break;
}
}
}
for(int i=;i<=N;i++)f[i]+=f[i-];
}
inline int read(){
int f=,x=;char ch;
do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
return f*x;
}
int main(){
freopen("aimiliyausemagic.in","r",stdin);
freopen("aimiliyausemagic.out","w",stdout);
calcpre();int T=read();
while(T--){
n=read();m=read();
if(n>m)swap(n,m);ll ans=;
for(int i=,j=;i<=n;i=j+){
j=min(n/(n/i),m/(m/i));
ans+=(f[j]-f[i-])*(n/i)*(m/i);
}
printf("%lld\n",ans);
}
return ;
}

【反演复习计划】【COGS2432】爱蜜莉雅的施法的更多相关文章

  1. 【反演复习计划】【COGS2431】爱蜜莉雅的求助

    出题人怎么这么不认真啊==明明官方译名是爱蜜莉雅…… 而且我们爱蜜莉雅碳是有英文名哒!是Emilia.你那个aimiliya我实在是无力吐槽…… 不过抱图跑23333首先这很像约数个数和函数诶!但是唯 ...

  2. 【反演复习计划】【51nod1594】Gcd and Phi

    现在感觉反演好多都是套路QAQ…… #include<bits/stdc++.h> using namespace std; ; typedef long long ll; int n,c ...

  3. 【反演复习计划】【COGS2433】&&【bzoj3930,CQOI2015选数】爱蜜莉雅的冰魔法

    同bzoj3930. (日常盗题图) #include<bits/stdc++.h> #define N 1000010 #define yql 1000000007 #define ll ...

  4. 【反演复习计划】【bzoj1011】zap-queries

    快三个月没做反演题了吧…… 感觉高一上学期学的全忘了…… 所以还得从零开始学推式子. # bzoj1011 标签(空格分隔): 未分类 --- 原题意思是求以下式子:$Ans=\sum\limits_ ...

  5. 【反演复习计划】【bzoj4407】于神之怒加强版

    #include<bits/stdc++.h> #define N 5000010 #define yql 1000000007 using namespace std; typedef ...

  6. 【反演复习计划】【bzoj2154】Crash的数字表格

    膜拜cdc……他的推导详细到我这种蒟蒻都能看得懂! 膜拜的传送门 所以我附一下代码就好了. #include<bits/stdc++.h> #define N 10000005 #defi ...

  7. 【反演复习计划】【bzoj3529】数表

    Orz PoPoQQQ大爷 按照他ppt的解法,这题可以划归到之前的题了OrzOrz 跪wy写的题解(Stealth Assassin)https://www.luogu.org/wiki/show? ...

  8. 【反演复习计划】【bzoj3994】DZY loves maths

    这题大概就是提取一下d,然后就跟前面的题目差不多了. #include<bits/stdc++.h> #define N 10000005 using namespace std; typ ...

  9. 【反演复习计划】【bzoj3994】约数个数和

    首先要用数学归纳证明一个结论,不过因为我实在是懒得打公式了... 先发代码吧. #include<bits/stdc++.h> #define N 50005 using namespac ...

随机推荐

  1. Window.open()方法参数详解总结(转)

    1, 最基本的弹出窗口代码   window.open('page.html'); 2, 经过设置后的弹出窗口   window.open('page.html', 'newwindow', 'hei ...

  2. HDU 4441 Queue Sequence(优先队列+Treap树)(2012 Asia Tianjin Regional Contest)

    Problem Description There's a queue obeying the first in first out rule. Each time you can either pu ...

  3. ACM第一阶段学习内容

    一.知识目录 字符串处理 ................................................................. 3 1.KMP 算法 .......... ...

  4. JavaSE复习(八)反射和注解

    反射 框架设计的灵魂 框架:半成品软件.可以在框架的基础上进行软件开发,简化编码 反射:将类的各个组成部分封装为其他对象,这就是反射机制 好处: 可以在程序运行过程中,操作这些对象. 可以解耦,提高程 ...

  5. 2017Nowcoder Girl初赛重现赛

    https://ac.nowcoder.com/acm/contest/315#question A.平方数 代码: #include <bits/stdc++.h> using name ...

  6. 匿名内存 | shm

    page_is_file_cache是和swapbacked互斥的,所以说对于匿名页来说,分配的时候就就会把PageSwapBacked给设置上,page->mapping_address = ...

  7. 算法(8)Maximum Product Subarray

    题目:在一个数组中找到一个子数组,让子数组的乘积最大,比如[2,3,-2,4]返回6 思路:之前自己想到的思路是对于一个int类型的数组,只要负数的个数是偶数,那么乘积肯定是全局乘就可以了,然后对于负 ...

  8. setcookie函数

    在任何请求的服务器响应都会有个头部,默认情况下,头部发送动作会在第一个输出发生时触发,如echo,<html>.(注:php有个header方法手动发送原生header) 由于setcoo ...

  9. DataBase -- Second Highest Salary

    Question: Write a SQL query to get the second highest salary from the Employee table. +----+-------- ...

  10. [Leetcode] Same tree判断是否为相同树

    Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...