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

网站被k原因广东东莞发布最新消息

网站被k原因,广东东莞发布最新消息,西安网站设计哪家公司好,wordpress站点地址写错[ABC206E] Divide Both 解题记录 题意简述 给定整数 L , R L,R L,R,求满足以下条件的数对 ( x , y ) (x,y) (x,y) 的数量。 x , y x,y x,y 不互质 x ∤ y x \nmid y x∤y 且 y ∤ x y \nmid x y∤x 题目分析 正难则反,考虑用所有的满足第一条性质的…

[ABC206E] Divide Both 解题记录


题意简述

给定整数 L , R L,R L,R,求满足以下条件的数对 ( x , y ) (x,y) (x,y) 的数量。

  • x , y x,y x,y 不互质
  • x ∤ y x \nmid y xy y ∤ x y \nmid x yx

题目分析

正难则反,考虑用所有的满足第一条性质的数对的数量减去不满足第二条性质的数量。
容易想到,如果不考虑第二条性质,那么我们可以枚举因子 i ∈ [ 2 , r ] i \in [2,r] i[2,r],求解出 [ l , r ] [l,r] [l,r] 区间内的 i i i 的倍数的个数 s s s,然后用加法原理,两两配对,累加到答案中。
如何求解 s s s
不妨设 x = k × i + b x=k \times i+b x=k×i+b,则 i ∣ ( x − b ) i \mid (x-b) i(xb),即对于每个 j ∈ [ 1 , k ] j \in [1,k] j[1,k] 都有 i ∣ ( x − b − j × i ) i \mid (x-b-j \times i) i(xbj×i),一共 k k k 个数,而这个 k k k 就是 ⌊ r i ⌋ \lfloor\frac{r}{i}\rfloor ir,对于 k k k 个数字两两配对,即可求解出 s = k × ( k − 1 ) 2 s=\frac{k \times (k-1)}{2} s=2k×(k1)。但是这样会有重复,如:当 i = 2 , 3 , 6 i=2,3,6 i=2,3,6 时,均会有数对 ( 6 , 12 ) (6,12) (6,12),这个时候就需要我们标记了。可以设 c n t i cnt_i cnti 表示 i i i 的质因子的个数,如果 c n t i cnt_i cnti 为偶数,就减去当前贡献,否则加上。那么我们对于 i = 2 , 3 i=2,3 i=2,3 的时候加上了 ( 6 , 12 ) (6,12) (6,12) 的贡献,在 i = 6 i=6 i=6 的时候就会减去一个,这样就保证了贡献不会重复(不清楚的可以手模)。
最后减去不满足第二条限制的贡献:对于每个因子 i ∈ [ 2 , r ] i \in [2,r] i[2,r],减去 [ l , r ] [l,r] [l,r] 中除 i i i i i i 的倍数,即: ⌊ r i ⌋ − 1 \lfloor\frac{r}{i}\rfloor -1 ir1


AC Code
#include<bits/stdc++.h>
#define arrout(a,n) rep(i,1,n)std::cout<<a[i]<<" "
#define arrin(a,n) rep(i,1,n)std::cin>>a[i]
#define rep(i,x,n) for(int i=x;i<=n;i++)
#define dep(i,x,n) for(int i=x;i>=n;i--)
#define erg(i,x) for(int i=head[x];i;i=e[i].nex)
#define dbg(x) std::cout<<#x<<":"<<x<<" "
#define mem(a,x) memset(a,x,sizeof a)
#define all(x) x.begin(),x.end()
#define arrall(a,n) a+1,a+1+n
#define PII std::pair<int,int>
#define m_p std::make_pair
#define u_b upper_bound
#define l_b lower_bound
#define p_b push_back
#define CD const double
#define CI const int
#define int long long
#define il inline
#define ss second
#define ff first
#define itn int
CI N=1e6+5;
int l,r,ans,cnt[N];
void init() {rep(i,2,r) {if(cnt[i]!=0) {continue;}for(int j=i;j<=r;j+=i) {if(cnt[j]>=0) {cnt[j]++;}}for(int j=i*i;j<=r;j+=i*i) {cnt[j]=-1;}}
}
signed main() {std::cin>>l>>r;init();rep(i,2,r) {if(cnt[i]<0) {continue;}int s=r/i-(l-1)/i;s=s*(s-1)/2;if(cnt[i]%2) {ans+=s;} else {ans-=s;}}rep(i,std::max(l,2ll),r) {ans-=r/i-1;}std::cout<<ans*2;return 0;
}
http://www.yayakq.cn/news/603798/

相关文章:

  • 志愿服务网站开发教你免费申请个人网站
  • 做料理网站关键词怎么设置营销网站的建造步骤
  • 深圳seo外包广州网站建设优化方案
  • 阳泉网站建设公司app营销型网站的特点
  • 企业网站建设 哪个公司做得好简易手工制作
  • 辽宁做网站哪家好青岛网站开发公司
  • 网站开发 哪种效率高电子商务网站建设工资
  • 免费网站模四川省建设厅网站为什么打不开
  • 网站建设里程碑郑州建设信息网信用评价系统
  • 怎么制作网站程序一般网站前端是用什么做
  • 遂昌网站建设wordpress与商城
  • 建设一个网站要多少钱如何用源码做网站
  • 广州网站设计素材汉中建设工程招标网
  • 成都平台网站建设公司jsp网站开发的使用表格
  • 网站后台发邮件专业做图片制作网站有哪些
  • 企业网站设计请示有用织梦做的大网站吗
  • 芜湖做网站都有哪些龙岩优化怎么做搜索
  • php做大型网站成都分类信息网站开发
  • 网站后台首页wordpress项目wiki
  • 网站编程教学做50个网站
  • 南京高端定制网站建设wordpress文章网址采集器
  • 邯郸大网站黑龙江俄语网站制作
  • 网站建设主要包括怎么打开google网站
  • 选择手机网站建设展览网站建设方案
  • 东阳网站建设软件开发自媒体平台企业网站怎么设置
  • 想找私人做网站公司网站网站不备案
  • 网站后台视频app推广服务部
  • 企业网站源码怎么获取建设一个网站报价
  • 网站设置ico嘉兴网站备案
  • 自适应网站方案wordpress 头像插件