链接

题解:直接用公式算,用容斥来减掉重复计算的部分

但是我犯了一个非常sb的错误,直接把abcd除k了,这样算a-1的时候就错了,然后举的例子刚好还没问题= = ,结果wa了好几发

//#pragma comment(linker, "/stack:200000000")
//#pragma GCC optimize("Ofast,no-stack-protector")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
//#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define pi acos(-1.0)
#define ll long long
#define mod 1000000007
#define C 0.5772156649
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#define pil pair<int,ll>
#define pii pair<int,int>
#define ull unsigned long long
#define base 1000000000000000000
#define fio ios::sync_with_stdio(false);cin.tie(0) using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f3f; int mu[N],prime[N],sum[N];
bool mark[N];
int cnt;
void init()
{
mu[]=;
cnt=;
for(int i=;i<N;i++)
{
if(!mark[i])prime[++cnt]=i,mu[i]=-;
for(int j=;j<=cnt;j++)
{
int t=i*prime[j];
if(t>N)break;
mark[t]=;
if(i%prime[j]==){mu[t]=;break;}
else mu[t]=-mu[i];
}
}
for(int i=;i<N;i++)sum[i]=sum[i-]+mu[i];
}
ll cal(int n,int m)
{
ll ans=;
for(int i=,last;i<=min(n,m);i=last+)
{
last=min(n/(n/i),m/(m/i));
ans+=(ll)(sum[last]-sum[i-])*(n/i)*(m/i);
}
return ans;
}
int main()
{
init();
int t;
scanf("%d",&t);
while(t--)
{
ll a,b,c,d,k;
scanf("%lld%lld%lld%lld%lld",&a,&b,&c,&d,&k);
printf("%lld\n",cal(b/k,d/k)-cal((a-)/k,d/k)-cal((c-)/k,b/k)+cal((a-)/k,(c-)/k));
}
return ;
}
/******************** ********************/

最新文章

  1. css common 通用
  2. unity自带寻路Navmesh入门教程(二)
  3. vtk renderer / rendering 绘制
  4. ZUI前段框架简介
  5. Linux mount/unmount命令(转)
  6. android与后台请求的例子
  7. ubuntu下配置hosts
  8. [模板总结] Java的一些模板
  9. 《点石成金-访客至上的web和移动可用性设计秘籍》读书笔记
  10. Ubuntu之网络配置
  11. Google+ 技巧四则
  12. repeater控件 + marquee标签 实现文字滚动显示
  13. redis: 6379端口下set值时出现 CLUSTERDOWN The cluster is down
  14. Javascript计算密码的强度
  15. wamp出现问题#1045 - Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: NO)的解决方法
  16. ByteBuffer的allocate和allocateDirect
  17. MVC5 Entity Framework学习之实现继承
  18. Transform 位置 旋转
  19. Spring源码:IOC原理解析(二)
  20. 并发库应用之十 &amp; 多线程数据交换Exchanger应用

热门文章

  1. UIButton+Block
  2. c++编译/连接/运行
  3. django博客项目4:博客首页视图(1)
  4. Matlab/Simulink仿真中如何将Scope转化为Figure?
  5. html当前文档的状态
  6. HDU1838:Chessboard(线性dp)
  7. 10 Spring框架 AOP (三) Spring对AspectJ的整合
  8. Ubuntu更新Hostname和hosts
  9. pc端html页面到移动端等比缩放
  10. hadoop15---activemq