bzoj2880
打公式好麻烦 QAQ
为了节省时间去复习,原谅我引用一下别人的博客。。。http://blog.csdn.net/acdreamers/article/details/8542292
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#define re(i,l,r) for(int i=(l);i<=(r);i++)
#define rre(i,r,l) for(int i=(r);i>=(l);i--)
using namespace std;
typedef long long LL;
int prime[],prime_tot,mu[],g[],sum[];
bool bo[];
LL solve(int n,int m)
{
LL ret=;
if(n>m)swap(n,m);
int i=,xia;
while(i<=n)
{
xia=min(n/(n/i),m/(m/i));
ret+=1LL*(n/i)*(m/i)*(sum[xia]-sum[i-]);
i=xia+;
}
return ret;
}
int main()
{
mu[]=;
re(i,,)
{
if(!bo[i])prime[++prime_tot]=i,mu[i]=-,g[i]=;
for(int j=;j<=prime_tot&&i*prime[j]<=;j++)
{
bo[i*prime[j]]=;
if(i%prime[j]==){mu[i*prime[j]]=,g[i*prime[j]]=mu[i];break;}
else mu[i*prime[j]]=-mu[i],g[i*prime[j]]=mu[i]-g[i];
}
}
re(i,,)sum[i]=sum[i-]+g[i];
int t;
scanf("%d",&t);
while(t--)
{
int n,m;scanf("%d%d",&n,&m);
printf("%lld\n",solve(n,m));
}
return ;
}
bzoj2880的更多相关文章
随机推荐
- nginx default_server的作用
用来处理没有成功匹配server_name的请求 https://www.oschina.net/question/12_3565 https://segmentfault.com/a/1190000 ...
- java数值比较
import org.junit.Test; public class NumberCompare { /** * 数值比较,以Float为例 */ @Test public void testNam ...
- mysql关联表修改语句
UPDATE tb_irms_trans_pip2optseg a,`tb_irms_trans_pip` b SET a.district=b.district WHERE a.prop_id=b. ...
- 后渗透神器Empire的简单使用
1.安装 1.1.系统环境: Debian系Linux:例如Ubuntu和Kali(本文使用Kali作为环境) 1.2.安装命令: 安装最后需要输入用户名.密码 wget https://raw.gi ...
- 让height: 100%生效
html: <body> <div class="box"></div> </body> css: .box{ position: ...
- react 路由导航栏 withRouter
codesandbox https://codesandbox.io/s/9l6prnyxjy app.js import React, { Component, Fragment } from &q ...
- P1115 最大子段和
题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大. 输入输出格式 输入格式: 第一行是一个正整数NNN,表示了序列的长度. 第二行包含NNN个绝对值不大于100001000010000的 ...
- 最新版的Chrome不能设置网页编码怎么解?
添加一个Google插件https://chrome.google.com/webstore/detail/set-character-encoding/bpojelgakakmcfmjfilgdlm ...
- CString比较不区分大小写
第一种:都变为大写 或者都变成小写. str1.MakeUpper();str2.MakeUpper();or:str1.MakeLower();str2.MakeLower(); if(str1== ...
- win 10安装Linux虚拟机教程
1.首先下载虚拟机 用的是VMware 官方下载地址:https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmwar ...