也是一个反演。

第一次手动推出一个简单的式子,激动.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$可以前缀和,剩下的分块就好。

 1 #include<bits/stdc++.h>
 2 #define N 10000010
 3 using namespace std;
 4 typedef long long ll;
 5 int n,m,prime[N],cnt,vis[N];
 6 ll f[N];
 7 void calcpre(){
 8     f[1]=1;cnt=0;memset(vis,1,sizeof(vis));
 9     for(int i=2;i<=N;i++){
10         if(vis[i]){prime[++cnt]=i;f[i]=i-2;}
11         for(int j=1;j<=cnt;j++){
12             int t=i*prime[j];if(t>N)break;
13             vis[t]=0;int p=prime[j];
14             if (i%p)f[t]=f[i]*f[p];
15             else{
16                 f[t]=(i/p)%p?f[i/p]*(p-1)*(p-1):f[i]*p;
17                 break;
18             }
19         }
20     }
21     for(int i=2;i<=N;i++)f[i]+=f[i-1];
22 }
23 inline int read(){
24     int f=1,x=0;char ch;
25     do{ch=getchar();if(ch=='-')f=-1;}while(ch<'0'||ch>'9');
26     do{x=x*10+ch-'0';ch=getchar();}while(ch>='0'&&ch<='9');
27     return f*x;
28 }
29 int main(){
30     freopen("aimiliyausemagic.in","r",stdin);
31     freopen("aimiliyausemagic.out","w",stdout);
32     calcpre();int T=read();
33     while(T--){
34         n=read();m=read();
35         if(n>m)swap(n,m);ll ans=0;
36         for(int i=1,j=1;i<=n;i=j+1){
37             j=min(n/(n/i),m/(m/i));
38             ans+=(f[j]-f[i-1])*(n/i)*(m/i);
39         }
40         printf("%lld\n",ans);
41     }
42     return 0;
43 }

转载于:https://www.cnblogs.com/zcysky/p/6896022.html

【反演复习计划】【COGS2432】爱蜜莉雅的施法相关推荐

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

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

  2. 问,你的算法复习计划是什么?

    (另注:这篇文章发到首页,是希望多和大家交流,首先感谢大家) 小学和爸爸一起玩小霸王学习机,看着爸爸照着说明书上的程序在小霸王学习机上打出了一个超级玛丽奥.自己也尝试着打,却没有打出来. 初中,终于把 ...

  3. 计算机二级c语言复习计划,全国计算机等级考试二级C语言考试复习资料与复习计划以与考试要点.doc...

    -- ---- 全国计算机等级考试二级C语言考试复习资料及复习计划 一.C语言的特点 C语言是近年来非常流行的语言,很多人宁愿放弃已经熟悉的其他语言而改用C语言,其原因是C语言有优于其他语言的一系列特 ...

  4. 北大计算机考研考什么时候,北大计算机考研复习计划有哪些

    计算机是考研的热门学科,想要通过考试没有那么简单哦,需要制定详细计划去学习以及复习.以下是学习啦小编分享给大家的北大计算机考研复习计划的资料,希望可以帮到你! 北大计算机考研复习计划 1月 搜集考研信 ...

  5. iOS 版微信可以改微信号;传腾讯计划入股爱奇艺;Qt 6.0 发布首个预览版本| 极客头条...

    整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极 ...

  6. 计算机考研时间计划表,【考研复习计划】_这里有最详细的考研复习计划时间表...

    英语 /词汇 /专业 原标题:这里有最详细的考研复习计划时间表! 考研准备阶段:(寒假-3月份) 一.选择院校.专业 1.确定想要学习方向,初步确立目标院校和专业 2.了解专硕和学硕的区别~ 2017 ...

  7. 计算机考研如何安排时间安排,2015年考研计算机复习计划及时间安排

    课程导航 复习指导 > 计算机 > 2015年考研计算机复习计划及时间安排 跨考教育2014-04-20 09:50:24 跨考教育(粉丝18.7万) 准备参加2015年计算机考研的考生现 ...

  8. 计算机考研每日安排,计算机考研如何安排复习计划

    你的英语情况还好,不是特别差的那种,英语重要的培养做题的感觉,单词要有技巧的记,一般基础性的单词要熟记,另外记一些写作需要的难一点的单词,现阶段建议你多做做阅读的题目,考试的时候阅读可是占了50分,完 ...

  9. 计算机准备计划,你为计算机考试做好准备了吗?敬业签便签帮你制定详细复习计划...

    今年3月二十多号即将迎来全国范围的计算机二级考试,大一时我因为贪玩一直拖着没报名,想着既然上大二了,以后还要忙着考研等等事情,时间只会越来越少,不如早些把该考的证书考出来,便果断报名了今年3月份的计算 ...

最新文章

  1. java拆分excel_Jexcel实现按一定规则分割excel文件的方法
  2. Jayway JsonPath实例
  3. visual studio code python环境配置_visual-pushing-grasping环境配置及复现
  4. MyBatis入门HelloWorld,注解实现
  5. Mac/Linux系统连接远端服务器以及相同IP地址的服务器账号密码重置,ssh失败问题
  6. Android Note-android studio 无法创建android项目
  7. sass用法快速入门
  8. 【技巧】安卓版按键精灵手机抓抓 取色取坐标 获取屏幕触点坐标
  9. 分辨率,像素,像素密度易懂
  10. 推荐几个无版权图片库,可免费使用
  11. Apache Hive 垃圾回收
  12. 蘑菇街iOS客户端应用源码
  13. 无法对多重选择区域执行此操作
  14. 人工智能的逆向工程--反向智能研究综述
  15. Fabric1.4.1多机部署
  16. FaceBook中国程序员之死,38岁跳楼轻生,压力让他生不如死!
  17. 编码时,不要让字母和数字产生混淆,影响开发判断
  18. 【转载】北大acmnbsp;题目分类
  19. js实现图片预览功能
  20. 计算机大一新生打字速度,大一新生,21修炼成打字高手

热门文章

  1. 软件工程复习之软件生命周期
  2. linux ubuntu dlopen,linux – 使用dlopen()加载共享库时出错
  3. 强化学习Gym Atari报错缺少ale_c.dll
  4. 线性判别分析(LDA)与Fisher判别分析(FDA)降维原理
  5. PSE认证该怎么做?
  6. adb Shell命令小应用之一
  7. BugKu -- AWD --S1排位赛-1
  8. JAVA输入语句和输出语句
  9. 下采样downsamp和上采样upsample
  10. 帮朋友处理一个excel的问题(我也学到了)