题目是给你一个空间,和一个点(n,n,n),求从原点出发能够直接接触多少个点(不经过任何一个点)?

典型的mobius反演即可。

首先,ans=3,因为(1,0,0),(0,1,0),(0,0,1)这三个点必看。

其次别在三个平面内反演一次,算出三个坐标轴面的可见点数。

最后在空间反演一次,即可。反演的方法都是分块即可。

召唤代码君:

#include <iostream>
#include <cstdio>
#include <cstring>
#define maxn 1001000
typedef long long ll;
using namespace std; int mu[maxn],smu[maxn],pri[maxn];
ll n;
ll f[maxn],g[maxn]; void getprim_mu()
{
for (int i=1; i<maxn; i++) mu[i]=1;
for (int i=2; i<maxn; i++)
{
if (pri[i]) continue;
mu[i]=-mu[i];
for (int j=i+i; j<maxn; j+=i) pri[j]=1,mu[j]=-mu[j];
if (maxn/i>=i) for (int j=i*i; j<maxn; j+=i*i) mu[j]=0;
}
for (int i=1; i<maxn; i++) smu[i]=smu[i-1]+mu[i];
} ll getnum(ll N)
{
int next;
ll ans=0;
for (int i=1; i<=N; i=next+1)
{
next=N/(N/i);
ans+=(smu[next]-smu[i-1])*(N/i)*(N/i);
}
return ans;
} void _init()
{
scanf("%lld",&n);
f[1]=getnum(n);
} int gcd(int A,int B) { return B==0?A:gcd(B,A%B); } int main()
{
getprim_mu();
int T;
ll ans;
scanf("%d",&T);
while (T--)
{
_init();
ans=3+3*f[1];
for (int i=1,next; i<=n; i=next+1)
{
next=n/(n/i);
ans+=(n/i)*(n/i)*(n/i)*(smu[next]-smu[i-1]);
}
printf("%lld\n",ans);
}
return 0;
}

  

SPOJ_VLATTICE的更多相关文章

随机推荐

  1. UWP UserControl 不会自适应大小

    在一般的Page里面,我们通过VisualStateManager,可以根据窗体的宽度,来调整一些控件大小. <VisualStateManager.VisualStateGroups> ...

  2. Altium软件中Unknowpin的详细解决办法

    1.Altium软件中Unknowpin第一种原因:PCB封装缺失遗漏,直接加入对应的封装即可.点击箭头指示处的Add,接着点击OK之后,再点击图中所示处Browse...选择封装库的封装即可. 2. ...

  3. 利用Smith圆图设计匹配网络

    要实现射频最大的功率传输,必须使负载阻抗与源阻抗相匹配(即信号源阻抗与负载阻抗共轭相等),实现匹配的通常做法是在源和负载之间插入一个匹配网络,该网络不仅仅为减少功率损耗而设计,还可减少噪声干扰.提高功 ...

  4. 接口自动化学习--mock

    好久没有写学习的总结,都正月十二了,但还是要来个新年快乐鸭. 一直都在看imooc的一套java接口自动化实战课程,现在看到了尾部了,然后想到之前那些testng,mock,httpclient等都没 ...

  5. facebook和twitter的截图分享

    记录一下代码,以后自己可以抄..我抄我自己=.= SDK的接入看之前的博客.所以话不多少,直接上代码(记得分享一定要安装原生app(FB和twitter),不然只通过网页分享无法发图片.),初始化都在 ...

  6. GitHub笔记(三)——分支管理和多人协作

    三.分支管理 0 语句: 查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git ...

  7. Kafka科普系列 | Kafka中的事务是什么样子的?

    事务,对于大家来说可能并不陌生,比如数据库事务.分布式事务,那么Kafka中的事务是什么样子的呢? 在说Kafka的事务之前,先要说一下Kafka中幂等的实现.幂等和事务是Kafka 0.11.0.0 ...

  8. python—索引与切片总结

    python中索引与切片的熟练掌握对于字符串的操作很有帮助,梳理如下: (1)索引 S = 'hello world' 1)正向索引 正向索引从0开始,向右依次递增. 2)反向索引 反向索引从-1开始 ...

  9. EOS博彩合约设计

    集中博彩游戏合约设计 一.功能接口 1. 质押deposit 由用户发起,用户将个人账户中token质押给平台,从而可以进入平台去参与平台活动. 2. 赎回withdraw 由用户发起,在用户结束平台 ...

  10. 记一次线上gc调优的过程

           近期公司运营同学经常表示线上我们一个后台管理系统运行特别慢,而且经常出现504超时的情况.对于这种情况我们本能的认为可能是代码有性能问题,可能有死循环或者是数据库调用次数过多导致接口运行 ...