题意:

思路:

 #include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<map>
#include<set>
#include<queue>
#include<vector>
using namespace std;
typedef long long ll;
typedef unsigned int uint;
typedef unsigned long long ull;
typedef pair<int,int> PII;
typedef vector<int> VI;
#define fi first
#define se second
#define MP make_pair
#define N 110000
#define M 41000
#define eps 1e-8
#define pi acos(-1)
#define oo 1e9 int flag[N],prime[N],mu[N],t[N],ans[N],mx;
struct node
{
int n,m,a,id;
}q[N];
pair<int,int> F[N]; bool operator< (node a,node b)
{
return a.a<b.a;
} int lowbit(int x)
{
return x&(-x);
} void add(int x,int y)
{
while(x<=mx)
{
t[x]=t[x]+y;
x+=lowbit(x);
}
} int query(int x)
{
int ans=;
while(x)
{
ans+=t[x];
x-=lowbit(x);
}
return ans;
} void calc(int k)
{
int n=q[k].n;
int m=q[k].m;
int id=q[k].id;
int i=;
while(i<=n)
{
int x=n/i; int y=m/i;
int t1=n/x; int t2=m/y;
int pos=min(t1,t2);
ans[id]+=x*y*(query(pos)-query(i-));
i=pos+;
}
} int main()
{
freopen("bzoj3529.in","r",stdin);
freopen("bzoj3529.out","w",stdout);
int Q;
scanf("%d",&Q);
mx=;
for(int i=;i<=Q;i++)
{
scanf("%d%d%d",&q[i].n,&q[i].m,&q[i].a);
q[i].id=i;
if(q[i].n>q[i].m) swap(q[i].n,q[i].m);
mx=max(mx,q[i].n);
} mu[]=;
int tot=;
for(int i=;i<=mx;i++)
{
if(!flag[i])
{
prime[++tot]=i;
mu[i]=-;
}
for(int j=;j<=tot;j++)
{
int t=prime[j]*i;
if(t>mx) break;
flag[t]=;
if(i%prime[j]==)
{
mu[t]=;
break;
}
mu[t]=-mu[i];
}
}
for(int i=;i<=mx;i++)
for(int j=i;j<=mx;j+=i) F[j].fi+=i;
for(int i=;i<=mx;i++) F[i].se=i;
sort(q+,q+Q+);
sort(F+,F+mx+);
int j=;
for(int i=;i<=Q;i++)
{
while(j+<=mx&&F[j+].fi<=q[i].a)
{
j++;
for(int k=F[j].se;k<=mx;k+=F[j].se)
add(k,F[j].first*mu[k/F[j].se]);
}
calc(i);
}
for(int i=;i<=Q;i++) printf("%d\n",ans[i]&0x7fffffff);
return ;
}

【BZOJ3529】数表(莫比乌斯反演,BIT,自然溢出)的更多相关文章

  1. bzoj [SDOI2014]数表 莫比乌斯反演 BIT

    bzoj [SDOI2014]数表 莫比乌斯反演 BIT 链接 bzoj luogu loj 思路 \[ \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}a*[f[ ...

  2. 【bzoj3529】[Sdoi2014]数表 莫比乌斯反演+离线+树状数组

    题目描述 有一张n×m的数表,其第i行第j列(1 <= i <= n ,1 <= j <= m)的数值为能同时整除i和j的所有自然数之和.给定a,计算数表中不大于a的数之和. ...

  3. 【BZOJ3529】[Sdoi2014]数表 莫比乌斯反演+树状数组

    [BZOJ3529][Sdoi2014]数表 Description 有一张N×m的数表,其第i行第j列(1 < =i < =礼,1 < =j < =m)的数值为能同时整除i和 ...

  4. bzoj3529: [Sdoi2014]数表 莫比乌斯反演

    题意:求\(\sum_{i=1}^n\sum_{j=1}^nf(gcd(i,j))(gcd(i,j)<=a),f(x)是x的因子和函数\) 先考虑没有限制的情况,考虑枚举gcd为x,那么有\(\ ...

  5. BZOJ 3259 [Sdoi2014]数表 (莫比乌斯反演 + 树状数组)

    3529: [Sdoi2014]数表 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 2321  Solved: 1187[Submit][Status ...

  6. BZOJ 3529: [Sdoi2014]数表 [莫比乌斯反演 树状数组]

    3529: [Sdoi2014]数表 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1399  Solved: 694[Submit][Status] ...

  7. BZOJ 3529 [Sdoi2014]数表 (莫比乌斯反演+树状数组+离线)

    题目大意:有一张$n*m$的数表,第$i$行第$j$列的数是同时能整除$i,j$的所有数之和,求数表内所有不大于A的数之和 先是看错题了...接着看对题了发现不会做了...刚了大半个下午无果 看了Po ...

  8. luogu3312 [SDOI2014]数表 (莫比乌斯反演+树状数组)

    link \(\sum_{i=1}^n\sum_{j=1}^m[s(\gcd(i,j))\le a]s(\gcd(i,j))\) \(=\sum_{p=1}^ns(p)[s(p)\le a]\sum_ ...

  9. BZOJ3529: [Sdoi2014]数表(莫比乌斯反演,离线)

    Description 有一张 n×m 的数表,其第 i 行第 j 列(1 <= i <= n, 1 <= j <= m)的数值为 能同时整除 i 和 j 的所有自然数之和.给 ...

  10. BZOJ3529: [Sdoi2014]数表(莫比乌斯反演 树状数组)

    题意 题目链接 Sol 首先不考虑\(a\)的限制 我们要求的是 \[\sum_{i = 1}^n \sum_{j = 1}^m \sigma(gcd(i, j))\] 用常规的套路可以化到这个形式 ...

随机推荐

  1. 主题模型LDA及在推荐系统中的应用

    1 关于主题模型 使用LDA做推荐已经有一段时间了,LDA的推导过程反复看过很多遍,今天有点理顺的感觉,就先写一版. 隐含狄利克雷分布简称LDA(latent dirichlet allocation ...

  2. NOIP模拟赛 经营与开发 小奇挖矿

    [题目描述] 4X概念体系,是指在PC战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以“EX”为开头的英语单词. eXplore(探索) eXpand(拓张与发展) eXploit(经营与开发 ...

  3. paper:synthesizable finit state machine design techniques using the new systemverilog 3.0 enhancements之enhanced coding styles

    1.ANSI style 的代码比较紧凑. 下面规范推荐,比较好. 下面是带有parameter的module header的完整规范 一般1bit ,大家都是wire signal1 = gen_s ...

  4. PHP分页类代码

    今天为大家献上一段代码,这是一段php分页代码: <?php//创建分页类class Page {    private $_all_num;                           ...

  5. Docker工具

    虚拟化 什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源, 如服务器.网络.内存及存储等,予以抽象.转换后呈现出来, 打破实体结构间的 ...

  6. Windows7_64位 NVIDIA 卡 OpenCl环境配置

    序 最近做一个项目需要用到OpenCL,由于之前没有接触过,所以在环境配置第一关就遇到了一些问题,查阅很多资料才配置完成,现在记录如下,希望给一些童鞋一些帮助. 整个步骤也很简单: 了解系统配置,选择 ...

  7. net clr via c sharp chap1-- note

    Tag-> 托管代码 Tag-> .NET Framework 系统环境检测 Tag-> 设置平台 Tag-> 查询64或32位机 Tag-> IL编译成机器指令 Tag ...

  8. Ubuntu关机与重启的相关指令

    将数据同步写入到磁盘中的指令:sync 惯用的关机指令:shutdown 重新启动,关机:reboot,halt,poweroff shutdown可完成如下工作: 1.可以自由选择关机模式:是要关机 ...

  9. shell批量修改文件名

    [root@localhost file1]# ls a.htm b.htm c.htm d.htm pl.sh [root@localhost file1]# vi pl.sh #!/bin/bas ...

  10. Wordpress入门笔记

    简单介绍一下wordpress个人操作,建议安装中文版. 登入后台管理者页面, 浏览器地址栏输入           (线上) http://XXXX.com/wp-login.php (本地) ht ...