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

淘宝店铺网站策划书免费关键词搜索工具

淘宝店铺网站策划书,免费关键词搜索工具,b2b网站免费推广平台推荐,常熟网站设计补题: 题目详情 - 9.段坤爱取模%%% - SUSTOJ 本题或许是参考 Problem - C - Codeforces 根据题意,f(i)就是不能被整除的最小的一个质因子。 打表发现,当15个质因子相乘后,长度就大于18。 因此可以知道小于等于1e16内的正整数x…

补题:

题目详情 - 9.段坤爱取模%%% - SUSTOJ

本题或许是参考 Problem - C - Codeforces

根据题意,f(i)就是不能被整除的最小的一个质因子。

打表发现,当15个质因子相乘后,长度就大于18。

image-20231119231908296

因此可以知道小于等于1e16内的正整数x,f(x)一定是前20个质因子之一,且合数一定不行。

前20个质因子:2 3 5 7 11 13 17 19 23 29 31 37 41 43 。在第15个质因子相乘时就大于1e16,因此max(f(i))是小于40的。

现在就是要求:第1个质因子在[l, r]的个数 乘上 第1个质因子,加上 第2个质因子在[l, r]的个数 乘上 第2个质因子个数, … 。需要保证i在[l, r]内仅且一次被计算。考虑容斥。

对于f(i) = k来说,i可以被1 ... k - 1任何一个整除,但是不能被k整除。

f()值为k的个数有:
⌊ r l c m ( 1 , . . . k − 1 ) − r l c m ( 1 , . . . k ) ⌋ − ⌊ l l c m ( 1 , . . . k − 1 ) − l l c m ( 1 , . . . k ) ⌋ \lfloor { \frac {r} {lcm(1, ... k-1)} } - { \frac {r} {lcm(1, ... k)} } \rfloor - \lfloor { \frac {l} {lcm(1, ... k-1)} } - { \frac {l} {lcm(1, ... k)} } \rfloor lcm(1,...k1)rlcm(1,...k)rlcm(1,...k1)llcm(1,...k)l
如果将[l, r]分成两部分[1, l][1, r]来处理的话。

以r为例,f()为k的个数:
⌊ r l c m ( 1 , . . . k − 1 ) − r l c m ( 1 , . . . k ) ⌋ \lfloor { \frac {r} {lcm(1, ... k-1)} } - { \frac {r} {lcm(1, ... k)} } \rfloor lcm(1,...k1)rlcm(1,...k)r
那么,[1, r]sum就是:
∑ k ≥ 2 k × ( ⌊ r l c m ( 1 , . . . k − 1 ) − r l c m ( 1 , . . . k ) ⌋ ) = 2 × ( r − ⌊ r l c m ( 1 , 2 ) ⌋ ) + 3 × ( ⌊ r l c m ( 1 , 2 ) − r l c m ( 1 , 2 , 3 ) ⌋ ) + . . . = r + ∑ k ≥ 1 ⌊ r l c m ( 1 , . . . , k ) ⌋ \sum_{k \ge 2}k \times(\lfloor { \frac {r} {lcm(1, ... k-1)} } - { \frac {r} {lcm(1, ... k)} } \rfloor) \\ = 2 \times (r - \lfloor \frac r {lcm(1,2)} \rfloor) + 3 \times (\lfloor { \frac {r} {lcm(1,2)} } - { \frac {r} {lcm(1,2,3)} } \rfloor) + ... \\ = r + \sum_{k \ge 1} \lfloor \frac r {lcm(1, ..., k)} \rfloor k2k×(⌊lcm(1,...k1)rlcm(1,...k)r⌋)=2×(rlcm(1,2)r⌋)+3×(⌊lcm(1,2)rlcm(1,2,3)r⌋)+...=r+k1lcm(1,...,k)r
同理,可得[1, l]内的sum,两者相减即为答案。对于cf上的C,[1, r]即可。

时间复杂度:前面稠密,后面稀疏,最大为O(41 * 2)

const int mod = 998244353;
// https://codeforces.com/contest/1542/problem/C
void solve() {int l,r; cin>>l>>r;int sum = 0;int v = 1;auto lcm = [&](int a, int b) {return a * b / __gcd(a,b);};for(int i = 1; v <= r; v = lcm(i, v), ++i) {sum = (sum + r / v) % mod;}v = 1;for(int i = 1; v <= l - 1; v = lcm(i,v), ++i) {sum = (sum - (l - 1) / v + mod) % mod;}cout<<sum<<endl;
}

总结

赛时对这题容斥没有找到切入点。这个容斥处理极具有思维性,还是需要多做思维题!

参考:

[Codeforces] number theory (R1600) Part.11 - 知乎 (zhihu.com)

Submission #121200660 - Codeforces

http://www.ysxn.cn/news/392.html

相关文章:

  • 江苏建设工程招标网官方网站大数据精准营销
  • 免费网站建设网站免费做推广的网站
  • 昆明网站建设哪家最好做公司网站
  • 创新的购物网站建设中小企业网站优化
  • 北京南站最新消息渠道推广费用咨询
  • 新洲建设局网站营销服务机构
  • 茂名网站建设服务如何进行网络营销
  • 广州网站推广多少钱深圳百度搜索排名优化
  • 北京网站建设公司电扬推广引流
  • 如何用flash做网站站长之家下载
  • 可以自己做安卓app的网站刷推广链接的网站
  • 沧州哪里可以做网站青岛seo
  • 做网站建设公司怎么样网络销售怎么样
  • 代理做网站seo外包公司哪家好
  • 网站建设工作职责说明书手机端百度收录入口
  • 在百度怎么做网站温州最好的seo
  • 集团网站建设服务软文推广怎么写
  • 银川市住房和城乡建设网站狼雨seo网站
  • 怎样用jsp做网站 新手教程福州seo推广服务
  • 深圳高端网站定制公搜索引擎大全排行榜
  • 旅行社网站设计方案黄冈便宜的网站推广怎么做
  • 网页无法访问打不开页面如何解决seo入门培训教程
  • 网站做三级等保费用友情链接怎么设置
  • 建设商城网站制作企业网站制作多少钱
  • 做网站推广员推推蛙网站诊断
  • 淄博网站推广优化seo月薪
  • 网站建设win2012线上it培训机构
  • 做视频资源网站有哪些内容推广宣传方式有哪些
  • 做网站技巧郑州seo顾问阿亮
  • 如何做一条动态网站十大微商推广平台