萌新求助 玄1关
  • 板块P9836 种树
  • 楼主hytallenxu
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/1/20 17:39
  • 上次更新2024/1/20 20:29:44
查看原帖
萌新求助 玄1关
726098
hytallenxu楼主2024/1/20 17:39

rt。

我先开始线性筛写错了,以下是错误代码:

inline void init(int n)
{
    for(int i=1;i<=n;i++){
    	if(!num[i]) prime.emplace_back(i);
    	for(int j:prime){
    		if(i*j>=n) break;
    		num[i*j]=1;
    		if(i%j==0) break;
		}
	}
}

很显然,for(int i=1;i<=n;i++) 肯定是错的,ii 应该从 22 开始,并非 11。这样会导致所有数都加入了 prime 这个数组。

但是,这份代码过了 评测记录

求大佬们解答,这种做法的正确性是否有保证,不然就是数据水了(bushi)

2024/1/20 17:39
加载中...