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

线性筛和os数组(牛客多校25年#7-G)

线性筛

1.一个平方数一定是某若干个质数的偶次方

2.os(k)表示k经过质因数分解后指数的和,其有性质:os(M*N) = os(M) + os(N)

3.对于一个数k * prime,其os = os(k) + 1

4.题目的os[x*y*z] = os(x) + os(y) + os(z),如果os|x,y,z都为奇数,则必满足题意

5.有证明表明此题n的范围一定存在这样n/2个数

#include<bits/stdc++.h>
using namespace std;
const int N = 2e6;
bool st[N + 10];
int os[N + 10];
vector<int>primes;
void Ls()
{os[1] = 0;for(int i = 2;i <= N;i ++){if(!st[i]){primes.push_back(i);os[i] = 1;}for(int prime:primes){if(1LL * prime * i >= N)break;st[i * prime] = true;os[i * prime] = os[i] + 1;if(i % prime == 0)break;}}
}
int main()
{ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);Ls();int t;cin >> t;while(t --){int n;cin >> n;vector<int>res;for(int i = 1;i <= n; i++){if(os[i] & 1)res.push_back(i);if((int)res.size() >= n / 2)break;}for(int it:res)cout << it << " ";cout << endl;}return 0;
}

http://www.dtcms.com/a/316617.html

相关文章:

  • (ZipList入门笔记二)为何ZipList可以实现内存压缩,可以详细介绍一下吗
  • web_socket_channel 后台重连机制失败
  • Kafka 的基本操作(1)
  • Web存储技术详解:sessionStorage、localStorage与Cookie
  • MySQL 深分页优化方案
  • Matplotlib(六)- 坐标轴定制
  • 【motion】HumanML3D 的安装1:环境搭建
  • 制造业ERP系统架构设计方案(基于C#生态)
  • [激光原理与应用-151]:光学器件 - 光学平晶:高精度平面度检测的核心工具
  • 用phpstudy安装php8.2后报错:意思是找不到php_redis.dll拓展时
  • 如何对云环境或者超融合系统进行性能测试?
  • Pandas 入门:数据分析的得力工具
  • PowerBI VS QuickBI 实现图表的动态配色
  • Vue 2 渲染链路剖析
  • Linux逻辑卷管理操作指南
  • Arxiv-Daily
  • AUTOSAR进阶图解==>AUTOSAR_RS_ECUResourceTemplate
  • 【前端】使用jQuery播放图片,类似播放幻灯片一样
  • Redis面试精讲 Day 11:Redis主从复制原理与实践
  • RAG向量检索增强生成
  • MediaPipe框架解析(五):c++ face_mesh解析
  • TDengine 中 TDgpt 的模型评估工具
  • 基于WOA鲸鱼优化的VMD-GRU时间序列预测算法matlab仿真
  • 代码随想录day57图论7
  • (ZipList入门笔记一)ZipList的节点介绍
  • 【RH124 问答题】第 6 章 管理本地用户和组
  • ⭐CVPR2025 MatAnyone:稳定且精细的视频抠图新框架
  • LLM开发——语言模型会根据你的提问方式来改变答案
  • Android与Flutter混合开发:页面跳转与通信完整指南
  • 深入剖析 RAG 检索系统中的召回方式:BM25、向量召回、混合策略全解析