博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P2522 [HAOI2011]Problem b
阅读量:6587 次
发布时间:2019-06-24

本文共 1057 字,大约阅读时间需要 3 分钟。

还有三倍经验的吗(窒息)

思路

其实就是P3455套了个简单的容斥

把问题转化成f(n,m,k)-f(a-1,m,k)-f(n,b-1,k)+f(a-1,b-1,k)就可以了

和p3455几乎一样的代码

#include 
#include
#include
using namespace std;int T,n,m,mu[51000],iprime[51000],isprime[51000],summu[51000],cnt,k;void prime(int n){ isprime[1]=true; mu[1]=1; for(int i=2;i<=n;i++){ if(!isprime[i]) iprime[++cnt]=i,mu[i]=-1; for(int j=1;j<=cnt&&iprime[j]*i<=n;j++){ isprime[iprime[j]*i]=true; mu[iprime[j]*i]=-mu[i]; if(i%iprime[j]==0){ mu[iprime[j]*i]=0; break; } } } for(int i=1;i<=n;i++) summu[i]=summu[i-1]+mu[i];}long long f(int k){ long long ans=0; for(int l=1,r;l<=min(n,m);l=r+1){ r=min((n/(n/(l))),(m/(m/(l)))); ans+=1LL*(summu[r]-summu[l-1])*(n/(l*k))*(m/(l*k)); } return ans;}int main(){ prime(50100); scanf("%d",&T); while(T--){ scanf("%d %d %d",&n,&m,&k); if(n

转载于:https://www.cnblogs.com/dreagonm/p/10067385.html

你可能感兴趣的文章
在.Net中执行js
查看>>
切换sprite
查看>>
cocos2d-x 在vs2010下的环境配置
查看>>
Entity Framework 5.0系列之Code First数据库迁移
查看>>
EnterpriseDb公司的Postgres Enterprise Manager 安装图解
查看>>
ajax传输 基础一
查看>>
Android Animation学习(四) ApiDemos解析:多属性动画
查看>>
【转载】spring mvc 使用session
查看>>
SQLSERVER到底能识别多少个逻辑CPU?
查看>>
iphone UIScrollView缩放
查看>>
hdu 2234(IDA*)
查看>>
websocket nodejs实例
查看>>
Settings界面分析之Settings一级界面
查看>>
EF 5.0 帮助类
查看>>
微软BI 之SSIS 系列 - 通过设置 CheckPoints 检查点来增强 SSIS Package 流程的重用性...
查看>>
linux tomcat配置https
查看>>
1z0-052 q209_6
查看>>
TCP三次握手连接
查看>>
Spring.NET学习笔记——目录(原)
查看>>
Java回顾之Spring基础
查看>>