题面戳我

题意:你现在处于\((1,1,1)\),问可以看见多少个第一卦限的整点。

第一卦限:就是\((x,y,z)\)中\(x,y,z\)均为正

sol

首先L--,W--,H--,然后答案就变成了

\[\sum_{i=1}^{L}\sum_{j=1}^{W}\sum_{k=1}^{H}[\gcd(i,j,k)==1]+\sum_{i=1}^{L}\sum_{j=1}^{W}[\gcd(i,j)==1]
\]

\[+\sum_{i=1}^{L}\sum_{j=1}^{H}[\gcd(i,j)==1]+\sum_{i=1}^{W}\sum_{j=1}^{H}[\gcd(i,j)==1]+3
\]

(加三是因为还有\((0,0,1),(0,1,0),(1,0,0)\)三个点)

所以直接做就行了。

第一个式子看上去有三个\(\sum\),但套路还是一样的,可以化成$$\sum_{i=1}^{\min(L,W,H)}\mu(i)\lfloor\frac Li\rfloor\lfloor\frac Wi\rfloor\lfloor\frac Hi\rfloor$$

数论分块走一波

code

#include<cstdio>
#include<algorithm>
using namespace std;
#define ll long long
const int N = 1000000;
int pri[N+5],tot,zhi[N+5],mu[N+5],L,W,H;
void Mobius()
{
zhi[1]=mu[1]=1;
for (int i=2;i<=N;i++)
{
if (!zhi[i]) pri[++tot]=i,mu[i]=-1;
for (int j=1;j<=tot&&i*pri[j]<=N;j++)
{
zhi[i*pri[j]]=1;
if (i%pri[j]) mu[i*pri[j]]=-mu[i];
else break;
}
}
for (int i=1;i<=N;i++) mu[i]+=mu[i-1];
}
ll calc(int n,int m)
{
int i=1;ll res=0;
while (i<=n&&i<=m)
{
int j=min(n/(n/i),m/(m/i));
res+=1ll*(n/i)*(m/i)*(mu[j]-mu[i-1]);
i=j+1;
}
return res;
}
int main()
{
Mobius();
while (scanf("%d %d %d",&L,&W,&H)!=EOF)
{
L--,W--,H--;
ll ans=0;int i=1;
while (i<=L&&i<=W&&i<=H)
{
int j=min(L/(L/i),min(W/(W/i),H/(H/i)));
ans+=1ll*(L/i)*(W/i)*(H/i)*(mu[j]-mu[i-1]);
i=j+1;
}
printf("%lld\n",ans+calc(L,W)+calc(L,H)+calc(W,H)+3);
}
return 0;
}

最新文章

  1. 硬盘安装linux的两条命令
  2. JS弹出模态窗口下拉列表特效
  3. [BI项目记]-对项目文件进行规划
  4. T-SQL Recipes之生成动态列表数据
  5. 使用visio 2007对现有的数据库进行反向工程
  6. SVN服务器安装
  7. 几组User-Agent
  8. 浅析php学习的路线图
  9. winform 渐变(非API)
  10. C# aspnetpager分页
  11. 4. printf 命令
  12. MEF 基础简介 二
  13. NOIP模拟赛10 题解
  14. Linux 僵尸进程
  15. hdu 5007 水题 (2014西安网赛A题)
  16. jQuery Sizzle选择器(三)
  17. Python递归实现汉诺塔
  18. 【转】用instruments来检验你的app
  19. 用公式编辑器编辑n元乘积的方法
  20. unittest实现批量处理测试集

热门文章

  1. Lua内存分析工具
  2. sql server两个时间段内,求出周末的量
  3. ubuntu16 ftp 服务 vsftp 配置
  4. return的新思考
  5. ASP.NET Core 使用 URL Rewrite 中间件实现 HTTP 重定向到 HTTPS
  6. Apache和Tomcat的区别与联系
  7. Springmvc 中org.springframework.http.converter.json.MappingJackson2HttpMessageConverter依赖jackson包
  8. Ubuntu14.04上安装Composer
  9. Qt 信号如何自动连接槽函数?
  10. hihoCoder Demo Day dp