2017.9.5 能量采集 思考记录
2017-09-05 23:20
267 查看
第一个自己搞出来的反演题、
相比于上一个题,这个题简直和善
直接反演搞,最后一步还不用化简、、
这题放到现在出估计全场都A了
和bzoj3309相比,它只是第一步、
而正解是phi、、
码:
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
#define N 100005
#define ll long long
ll n,m,ans,mu
,su
,tot,i,j,k,f
;
bool he
;
void eular(int n)
{
mu[1]=1;
for(i=2;i<=n;i++)
{
if(!he[i])
{
su[++tot]=i;
mu[i]=-1;
}
for(j=1;j<=tot&&su[j]*i<=n;j++)
{
he[i*su[j]]=1;
if(i%su[j]==0)
{
mu[i*su[j]]=0;
break;
} else
{
mu[i*su[j]]=-mu[i];
}
}
}
}
int main()
{
scanf("%lld%lld",&n,&m);
if(n>m)swap(n,m);
eular(n);
for(i=1;i<=n;i++)
{
for(j=i;j<=n;j+=i)
{
f[j]+=mu[j/i]*((i-1)*2+1);
}
}
for(i=1;i<=n;i++)
{
ans+=f[i]*(m/i)*(n/i);
}
printf("%lld",ans);
}
相比于上一个题,这个题简直和善
直接反演搞,最后一步还不用化简、、
这题放到现在出估计全场都A了
和bzoj3309相比,它只是第一步、
而正解是phi、、
码:
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
#define N 100005
#define ll long long
ll n,m,ans,mu
,su
,tot,i,j,k,f
;
bool he
;
void eular(int n)
{
mu[1]=1;
for(i=2;i<=n;i++)
{
if(!he[i])
{
su[++tot]=i;
mu[i]=-1;
}
for(j=1;j<=tot&&su[j]*i<=n;j++)
{
he[i*su[j]]=1;
if(i%su[j]==0)
{
mu[i*su[j]]=0;
break;
} else
{
mu[i*su[j]]=-mu[i];
}
}
}
}
int main()
{
scanf("%lld%lld",&n,&m);
if(n>m)swap(n,m);
eular(n);
for(i=1;i<=n;i++)
{
for(j=i;j<=n;j+=i)
{
f[j]+=mu[j/i]*((i-1)*2+1);
}
}
for(i=1;i<=n;i++)
{
ans+=f[i]*(m/i)*(n/i);
}
printf("%lld",ans);
}
相关文章推荐
- 2017.9.5 组合数学 思考记录
- 2017.5.7 能量项链 思考记录
- 项目开发感悟记录四:关于命名的思考
- bzoj2005 能量采集 数论
- [NOI2010]能量采集
- 【NOIP模拟赛】Energy 能量采集
- 2005: [Noi2010]能量采集
- 初码-Azure系列-迁移PHP应用至Azure的一些实践记录和思考
- 关于记录日志的思考
- ●BZOJ 2005 NOI 2010 能量采集
- 2017.9.23 循环格 思考记录
- Bzoj 2005: [Noi2010]能量采集(莫比乌斯反演)
- 2017.6.12 crash的数字表格 思考记录
- 关于python以及numpy运行速度的一点思考和记录
- 2017.9.28 降雨量 思考记录
- 高速数据采集卡—全球顶级超宽带采集记录回放系统
- 超宽带信号高速数据采集存储系统—采样率5GSPS,模拟带宽3GHZ,记录存储带宽6GB/S!
- 2005: [Noi2010]能量采集
- 记录最近一些没有形成系统的思考
- 高速数据采集记录存储回放系统—记录存储带宽6GB/S!