当前位置: 首页 > news >正文

代做电大网站ui作业/店铺推广怎么做

代做电大网站ui作业,店铺推广怎么做,免费推广网站都有哪些,网站如何绑定二级域名Description 设d(x)为x的约数个数,给定N、M,求 Input 输入文件包含多组测试数据。 第一行,一个整数T,表示测试数据的组数。接下来的T行,每行两个整数N、M。Output T行,每行一个整数,表示你所求…

Description

设d(x)为x的约数个数,给定N、M,求  

Input

输入文件包含多组测试数据。

第一行,一个整数T,表示测试数据的组数。
接下来的T行,每行两个整数N、M。

Output

 T行,每行一个整数,表示你所求的答案。

 题解:

有一个小结论:

$d(ij)=\sum_{i|n}\sum_{j|n}[gcd(i,j)==1]$
原式 $= \sum_{i=1}^{n}\sum_{j=1}^{m}d(ij)$
$\Rightarrow\sum_{i=1}^{n}\sum_{j=1}^{m}\sum_{x|i}\sum_{y|j}[gcd(x,y)==1]$
$\Rightarrow\sum_{x=1}^{n}\sum_{y=1}^{m}[gcd(x,y)==1]\sum_{x|i}\sum_{y|j}$
$\Rightarrow\sum_{x=1}^{n}\sum_{y=1}^{m}\left \lfloor  \frac{n}{x}\right \rfloor\left \lfloor \frac{m}{x} \right \rfloor[gcd(x,y)==1]$
$\Rightarrow\sum_{x=1}^{n}\sum_{y=1}^{m}\left \lfloor  \frac{n}{x}\right \rfloor\left \lfloor \frac{m}{x} \right \rfloor\sum_{d|x,d|y}\mu(d)$
$\Rightarrow\sum_{d=1}^{n}\mu(d)\sum_{d|x}\left \lfloor \frac{n}{x} \right \rfloor\sum_{d|y}\left \lfloor \frac{m}{y} \right \rfloor$  
$\Rightarrow\sum_{d=1}^{n}\mu(d)\sum_{x=1}^{\left \lfloor \frac{n}{d} \right \rfloor}\left \lfloor \frac{n}{xd} \right \rfloor\sum_{y=1}^{\left \lfloor \frac{m}{d} \right \rfloor}\left \lfloor \frac{m}{yd} \right \rfloor$
剩下的交给整除分块计算就好了.
最好提前预处理出来所有的前缀和. 
#include<bits/stdc++.h>
#define setIO(s) freopen(s".in","r",stdin)
#define ll long long 
#define maxn 100000 
#define M 50002 
using namespace std;
int cnt; 
bool vis[maxn]; 
int prime[maxn], mu[maxn]; 
ll sumv[maxn],Ge[maxn]; 
ll Sum(int n)
{int i,j; ll re=0; for(i=1;i<=n;i=j+1){ j=n/(n/i);       re+=(j-i+1)*(n/i); }return re;   
}
void linear_shaker()
{int i,j; mu[1]=1; for(i=2;i<=M;++i) {if(!vis[i]) prime[++cnt]=i, mu[i]=-1; for(j=1;j<=cnt&&1ll*i*prime[j]<=M;++j){vis[i*prime[j]]=1; if(i%prime[j]==0) {mu[i*prime[j]]=0; break; }mu[i*prime[j]]=-mu[i]; }}for(i=1;i<=M;++i) sumv[i]=sumv[i-1]+mu[i];  for(i=1;i<=M;++i) {Ge[i]=Sum(i); }
}
int main()
{
// 	setIO("input"); linear_shaker();int T,n,m,i,j; ll re; scanf("%d",&T); while(T--){scanf("%d%d",&n,&m); if(n>m) swap(n,m); re=0; for(i=1;i<=n;i=j+1){j=min(n/(n/i), m/(m/i)); re+=(sumv[j]-sumv[i-1])*Ge[n/i]*Ge[m/i]; }printf("%lld\n",re); } return 0; 
}

  

转载于:https://www.cnblogs.com/guangheli/p/11102507.html

http://www.lbrq.cn/news/796429.html

相关文章:

  • 上市公司做家具网站/百度官网认证免费
  • 郑州做网站报价/上海广告公司排名
  • 江西省做网站/seo技术分享
  • 商标设计大全/seo黑帽培训骗局
  • 行业网站域名选择/seo交流论坛seo顾问
  • vps 同时做ssh和做网站/北京seo关键词优化收费
  • 镇江住房建设网站/网站页面关键词优化
  • 做网站的说3年3年包括什么/汕头seo全网营销
  • 网站开发兼职合同/网络推广网站排名
  • 小程序商城制作平台/厦门seo培训学校
  • 二级建造师官网查询系统/优化大师最新版下载
  • 武汉建设网站哪家好/网站联盟推广
  • 网站开发指的是什么/百度发作品入口在哪里
  • 长春网站建设及推广/北京网络营销推广公司
  • 兰州网站建设报价/房地产销售技巧和话术
  • 教育网站建设策划书/郑州seo网站关键词优化
  • ui设计速成培训机构/淘宝关键词优化软件
  • 网站没排名怎么办/网站制作多少钱一个
  • 做图片的网站都有哪些/南通网络推广
  • 石家庄 外贸网站建设公司/汽车行业网站建设
  • wordpress 邮件美化/aso优化服务平台
  • 纯ajax网站如何做seo/免费seo培训
  • 昆明小程序定制开发/清理优化大师
  • WordPress主题zero/优化推广服务
  • 广州家居网站设计/百度搜索智能精选
  • 江阴公司企业网站建设/济南做seo的公司排名
  • 中铁建设集团集采网站/注册一个公司网站需要多少钱
  • 商城网站建设平台/竞价防恶意点击
  • 互联网做网站/1个百度指数代表多少搜索
  • 效果图制作软件app/seo 优化思路
  • 基于图像识别与分类的中国蛇类识别系统
  • 1. 两数之和
  • 面试实战,问题二十二,Java JDK 17 有哪些新特性,怎么回答
  • 深入 Go 底层原理(十五):cgo 的工作机制与性能开销
  • 汽车EDI:Vitesco EDI 项目案例
  • 每日练习(红黑树)