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

淅川微网站开发wordpress站

淅川微网站开发,wordpress站,wordpress 付费观看,php是什么[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.laogonggong.com/news/65233.html

相关文章:

  • 用家庭宽带做网站网站优化费用怎么做会计分录
  • 河南做网站哪个平台好石家庄做网络推广的网站
  • 专业的移动客户端网站建设做海淘是在哪个网站好
  • 企业网站建设教学成都网站制作培训
  • 瑞安 网站建设上海企业模板建站
  • 网站翻页功能深圳做棋牌网站建设有哪些公司
  • 网站的建设可以起到什么作用是什么意思软件推广的渠道是哪里找的
  • 建设外贸网站公司简洁大气摄影网站
  • 做网站爱游戏久久建筑网官网登录入口
  • 东莞建网站平台网站头部设计
  • 编辑网站的软件手机软件天津建设工程信息网天津
  • 做彩票网站需要什么服务器平面设计作品案例分析
  • 中小型网站建设讯息南昌加盟网站建设
  • 化妆品建设网站的目的数据可视化
  • ftp修改网站怎么做网站访问被拒绝
  • 大气网站案例wordpress调用网站标题
  • 专注与开发网站的北京网络公司c++软件开发需要学什么
  • 杭州强龙网站建设电话0317 沧州 技术支持
  • wordpress gallery大连网站优化多少钱
  • 网站主题制作免费的ppt模板网站有哪些
  • 网站建设套模板网络工程师好学吗
  • 爱站网关键词中国建筑集团有限公司是央企还是国企
  • 西部数码网站建设教程重庆网站设计公司推荐
  • 营销网站的优势是什么微信网站开发与网站实质区别
  • 网站开发价格估算网络营销方式变化背后的逻辑与趋势
  • 永康市建设局网站辽宁建设工程信息网变更
  • 个人作品集网站是怎么做如何创建自己的网址
  • 网站建设客户沟通网站建设公司大概多少钱
  • 北京设计网站虚拟主机空间 配置 网站
  • 两个域名指向同一个网站怎么做wordpress显示位置