题面戳我

题意:你现在处于\((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;
}

[ZOJ3435]Ideal Puzzle Bobble的更多相关文章

  1. ZOJ 3435 Ideal Puzzle Bobble

    ZOJ Problem Set - 3435 Ideal Puzzle Bobble Time Limit: 2 Seconds      Memory Limit: 65536 KB Have yo ...

  2. ZOJ 3435 Ideal Puzzle Bobble 莫比乌斯反演

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4119 依然是三维空间内求(1,1,1)~(a,b,c)能看到的整点数,平移一下 ...

  3. ZOJ3435_Ideal Puzzle Bobble

    把L,H,W分别减一就变成上面一个题目了. 不多说,也不召唤代码君了.

  4. SFC游戏列表(维基百科)

    SFC游戏列表 日文名 中文译名 英文版名 发行日期 发行商 スーパーマリオワールド 超级马里奥世界 Super Mario World 1990年11月21日 任天堂 エフゼロ F-Zero F-Z ...

  5. Puzzle 面向服务/切面(AOP/IOC)开发框架 For .Net

    Puzzle 面向服务/切面AOP开发框架 For .Net AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效 ...

  6. 我理想中的父母(The Ideal Parents In My Heart)

    Parents are the first teachers in children's life, and people all know the great importance exactly ...

  7. HDU5456 Matches Puzzle Game(DP)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5456 Description As an exciting puzzle game for ...

  8. one recursive approach for 3, hdu 1016 (with an improved version) , permutations, N-Queens puzzle 分类: hdoj 2015-07-19 16:49 86人阅读 评论(0) 收藏

    one recursive approach to solve hdu 1016, list all permutations, solve N-Queens puzzle. reference: t ...

  9. poj3678 Katu Puzzle 2-SAT

    Katu Puzzle Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6714   Accepted: 2472 Descr ...

随机推荐

  1. java递归

    package com.sun.test; import java.util.ArrayList; import java.util.List; /** * 递归 * */ public class ...

  2. shell编程值之shell流程控制(7)

    条件判断式 1 按照文件类型判断(常用类型) 测试类型 作用 -d 文件 判断该文件是否存在,并且是否为目录文件(是目录文件为真) -e 文件 判断该文件是否存在(存在为真) -f 文件 判断该文件是 ...

  3. PHP两个日期之间的所有日期

    我想得到两个日期之间的所有日期, 例如:输入两个日期,把这两个日期之间的所有日期取出来     如果是:2005-02-01至2005-02-05(同为一个月)     则为:2005-02-01,2 ...

  4. mysql sql_cache缓存使用

    有如下规则,如果数据表被更改,那么和这个数据表相关的全部Cache全部都会无效,并删除之.这里"数据表更改"包括: INSERT, UPDATE, DELETE, TRUNCATE ...

  5. 撸一撸Spring Cloud Ribbon的原理-负载均衡器

    在上一篇<撸一撸Spring Cloud Ribbon的原理>中整理发现,RestTemplate内部调用负载均衡拦截器,拦截器内最终是调用了负载均衡器来选择服务实例. 接下来撸一撸负载均 ...

  6. chrome浏览器下JavaScript实现clipboard时无法访问剪切板解决方案

    在用JavaScript实现某个简单的复制到剪切板功能的时候,会考虑一下浏览器兼容性,主要是重点在IE和FireFox,把这个两个浏览器搞定后,基本上其他浏览器也不用太操心了,Chrome也一样,没出 ...

  7. Yii2-admin的详细使用教程

    Yii2-admin的详细使用教程 参考:http://www.yiichina.com/tutorial/571    http://www.kancloud.cn/curder/yii/24775 ...

  8. DxPackNet 1.打开摄像头

    好久没写博客了 ,这个系列将给大家介绍.net下一个非常好用的视频控件 ------ DxPackNet, 用这个控件大家可以轻松开发出 视频会议,视频监控,远程桌面,远程教学,远程白板,视频直播,视 ...

  9. 吾八哥学Selenium(二):操作输入框/按钮的方法

    一个web页面一定少不了输入框或者按钮这两种元素,那么在Python里如何使用Selenium操作web页面里的输入框和按钮呢?本文带你简单入门. 本文采用了一个例子,就是利用Selenium打开百度 ...

  10. nodejs之socket.io模块——实现了websocket协议

    Nodejs实现websocket的4种方式:socket.io.WebSocket-Node.faye-websocket-node.node-websocket-server,主要使用的是sock ...