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

补题若干(5)

[https://atcoder.jp/contests/abc412/tasks/abc412_e](素数筛法+枚举)

题意:

\(A_i\)\(1,2,3..i\)\(lcm\),求\(A_l,A_{l+1}....A_R\)\(L,R \leq 1e14\)) 的不同数个数

思路:

发现当\(A_{i+1}\)\(A_i\) 不同 当且仅当\(A_{i+1}\)为一个素数幂

所以

  1. \([1,1e7]\)的素数\(x\)筛出来

  2. 确定由\(x\)的幂次方构成的数在区间\([L,R]\)的个数

  3. 确定\([L,R]\)区间的素数(一次幂)个数:通过素数筛出

具体的:[\(l/x(上取整) \times x\) ,\(r/x \times\)] 区间每次+\(x\)筛去\(x\)的倍数

const int M=1e7+5;
int vis[M];
int vis2[M];
int vis3[M];
int L,R;
vector<int>p;
void solve(){cin>>L>>R;L++;for(int i=2;i<=1e7;i++){if(!vis[i]){p.pb(i);for(int j=2*i;j<=1e7;j+=i){vis[j]=1;}}}for(int x:p){if(x>R)break;int l = (L+x-1)/x*x, r= R/x*x;if(l==x)l+=x;if(r==x)r-=x;for(int i=l;i<=r;i+=x){vis2[i-L]=1;}int k=x*x;for(;k<=R;k*=x){if(k>=L)vis3[k-L]=1;}}int ans=1;for(int i=0;i<=R-L;i++){ans+=(!vis2[i] || vis3[i]);}cout<<ans;
}
http://www.jsqmd.com/news/38617/

相关文章:

  • 分享工具
  • 避免在C#循环中使用await 改用WhenAll - 尼古拉
  • Go Web 编程快速入门 02 - 认识 net/http 与 Handler 接口 - 实践
  • P12213 [蓝桥杯 2023 国 Python B] 最长回文前后缀 题解 字符串哈希+二分
  • 贺州西林瓶灌装轧盖机洁净车间防二次污染要点
  • 简单配置一下下VScode
  • 智能充气泵方案:充气泵pcba功能结构组成
  • 人跟人的唯一差距就是勇气和执行力 - Leone
  • 555定时器-2. 单稳态多谐振荡器配置
  • 习题解析之:最大素数
  • mybatis-plus Wrappers相关Api
  • 2025年北京工程咨询合作机构权威推荐榜单:造价咨询/工程咨询服务/工程造价咨询源头机构精选
  • 视频融合平台EasyCVR:云台控制与语音对讲赋能远程交互式视频监控新场景
  • 基于CCS开发环境实现DSP RS485总线数据收发
  • 2025年热浸锌桥架厂家权威推荐榜单:不锈钢桥架/光伏锌铝镁桥架/喷塑桥架源头厂家精选
  • 视频汇聚平台EasyCVR:构建通信基站“可视、可管、可控”的智慧安防体系
  • 习题解析之:用户登录C
  • VMware-配置静态IP地址详细教程
  • 使用 seatunnel 实现数据同步
  • 甘孜西林瓶灌装线厂家免费培训内容揭秘
  • 实验2 熟悉常用的HDFS操作 通过编程和Shell命令
  • OWASP 在新的前 10 名榜单中强调供应链风险
  • v4l2 probe时各个device的操作顺序
  • 国泰君安基于隐语SecretFlow生产场景探索实践
  • 张家口西林瓶灌装线带废料回收报价
  • 基于DNA编码与混沌系统的图像加密
  • windows键盘显示软件
  • 鲜花:m 群 bot 随机一言摘抄
  • Canvas简单整理 - sk
  • MATLAB小波分析工具包进行时间序列的小波功率谱分析