并不知道为什么同样一份代码早上超时下午就A了…好像数据是随机的?
做的第一道不是简单板题的数论函数题.果然做不出来…
在网上研究了好久,才算稍微研究明白.看到了两种推导的思路.(写了半天发现讲起来好麻烦,有时间再来更新)

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<climits>
#include<cmath>
#include<cstdlib>
#include<ctime>
#include<map>
#include<queue>
#include<set>
#include<vector>using namespace std;typedef long long ll;
const int MAXN=1e7+5;int prime[MAXN],h[MAXN],f2[MAXN],f3[MAXN],deg[MAXN],last[MAXN];
bool check[MAXN]; int tot;void pre()
{h[1]=f2[1]=f3[1]=last[1]=1;   tot=0;for(int i=2;i<MAXN;i++){if(!check[i]){prime[tot++]=i; h[i]=i-2; f2[i]=f3[i]=i; last[i]=1; deg[i]=1;}for(int j=0;j<tot && (ll)prime[j]*i<(ll)MAXN;j++){int x=prime[j]*i; check[x]=true;if(i%prime[j]){h[x]=h[i]*(prime[j]-2); f2[x]=f2[i]*prime[j]; f3[x]=f3[i]*prime[j];last[x]=i; deg[x]=1;}else{last[x]=last[i]; deg[x]=deg[i]+1;if(last[x]>1)  //含有其他因子 {h[x]=h[x/last[x]]*h[last[x]];}else   //素数幂 {//if(deg[x]==2) if(i>prime[j]) h[x]=h[i]*prime[j];else h[x]=(prime[j]-1)*(prime[j]-1);}f2[x]=f2[i]*(deg[x]%2==1?prime[j]:1);f3[x]=f3[i]*(deg[x]%3==1?prime[j]:1);break;}}}
}const int mod=1<<30;
int A,B,C;ll Min(ll A,ll B,ll C)
{ll ret=A;if(B<ret && B*B<ret) ret=B*B;if(C<ret && C*C<ret && C*C*C<ret) ret=C*C*C;return ret;
}int main()
{//printf("mod=%lld\n",mod);pre();int T;scanf("%d",&T);while(T--){ll ans=0;scanf("%d%d%d",&A,&B,&C);int limit=Min(A,B,C);for(int i=1;i<=limit;i++){ans=ans+(ll)h[i]*((A/i)*(B/f2[i])*(C/f3[i]));  //这里这个括号很玄学,去掉后面的括号就会错...并不知道为什么}printf("%lld\n",ans%mod);}return 0;
}

HDU6428-Calculate-数论函数相关推荐

  1. 组合数学与数论函数专题

    组合数学专题 专题简介 本专题包含了一些组合数学中常见的套路和方法,如拉格朗日插值,动态规划,容斥原理,狄利克雷卷积,线性筛,杜教筛 等等. 目录 2018 四川省赛GRISAIA (数论分块) HD ...

  2. html计算平均分,Calculate phastCon Score for a gene —- 计算基因的phastCon平均分,判断基因保守型...

    Calculate phastCon Score for a gene -- 计算基因的phastCon平均分,判断基因保守型 PhastCon socre is the score from 0 t ...

  3. Maven 的Could not calculate build plan错误解决方法(不一定适用,看原因)

    Maven 的Could not calculate build plan错误解决方法(不一定适用,看原因): 1.将C:\Users\a\.m2\repository\org\apache\mave ...

  4. CUDA Samples: Calculate Histogram(atomicAdd)

    以下CUDA sample是分别用C++和CUDA实现的计算一维直方图,并对其中使用到的CUDA函数进行了解说,code参考了<GPU高性能编程CUDA实战>一书的第九章,各个文件内容如下 ...

  5. [记录]calculate age based on date of birth

    calculate age based on date of birth know one new webiste:eval.in run php code 转载于:https://www.cnblo ...

  6. 自定义表单mysql_自定义表单,计算答案然后更新mysql DB(Custom form, calculate answer then update mysql DB)...

    自定义表单,计算答案然后更新mysql DB(Custom form, calculate answer then update mysql DB) 我想要实现的是用户购买代币时的模拟支付系统. 我坚 ...

  7. R语言使用dplyr包使用group_by函数、summarise函数和mutate函数计算分组下的均值、标准差、样本个数、以及分组均值的95%执行区间对应的下限值和上限值(Calculate CI)

    R语言使用dplyr包使用group_by函数.summarise函数和mutate函数计算分组下的均值.标准差.样本个数.以及分组均值的95%执行区间对应的下限值和上限值(Calculate 95% ...

  8. Eclipse创建的Maven项目报错Could not calculate build plan: Plugin

    Eclipse创建的Maven项目报错Could not calculate build plan: Plugin 2018年05月10日 21:59:25 TIMI-Nian 阅读数:5040 标签 ...

  9. [WUST2017]一组简单一点的题目(三) A - Calculate S(n)

    题目:A - Calculate S(n) Calculate S(n). S(n)=1 3+2 3 +3 3 +......+n 3 . Input Each line will contain o ...

  10. HDOJ(HDU) 2139 Calculate the formula(水题,又一个用JavaAC不了的题目)

    Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) 看到这个时间,我懵逼了... 果然,J ...

最新文章

  1. 重读图灵经典之作,九条反驳意见引人深思
  2. Linux命令行下登录ssl加密的ftp
  3. 2019-11-08 频域的直观感受
  4. ubuntu解压zip文件乱码问题
  5. C语言中的静态函数的作用
  6. linux之网络编程ICMP校验算法
  7. poj 2484 A Funny Game
  8. php广告任务网源码_THINKPHP仿我爱广告任务网|任务网站源码下载
  9. Android共享电脑上网
  10. C#LeetCode刷题之#225-用队列实现栈(Implement Stack using Queues)
  11. jdbc封装工具类代码_【百战程序员从开始到植发】之JDBC
  12. win7电脑误删鼠标键盘驱动_Win7系统鼠标键盘驱动检测不到的三种解决方法
  13. 如何优雅的学习英语?从理解英语的使用思维开始!
  14. c语言忽略转义字符,C语言转义字符
  15. 数据导入与预处理-第4章-数据获取python读取pdf文档
  16. 2023年如何搭建最小可行性的产品文档/产品手册?
  17. QQ轻聊版、TIM版无法修改个人文件夹位置的解决方法
  18. 拨云搜索:帮你查找记忆中的小说
  19. 对 SE/GE 的改进 ECA
  20. 雷达有源干扰——噪声乘积干扰

热门文章

  1. Date函数基础知识整理
  2. VM克隆之后启动eth0找不到eth0:unknown interface:no such device
  3. MST:Bad Cowtractors(POJ 2377)
  4. js 面向对象插件写法,还是很好理解的
  5. jquery实现导航栏鼠标点击后实行背景高亮,点击离开恢复(超级简单!!!!)...
  6. yum update Transaction Check Error
  7. 小心pthread_cond_signal和SetEvent之间的差异
  8. 二分图匹配----匈牙利算法之二
  9. java如何找重复数字_Java如何找出数组中重复的数字
  10. 2016 linux发行版排行_选择困难症必看!云服务器如何选择操作系统,Windows和Linux哪个更好?...