算法提高之夏洛克和他的女朋友

算法提高之夏洛克和他的女朋友

  • 核心思想:筛质数

    • 因为质因子与其合数不能为同一个颜色
    • 所以将质数分一组 合数分一组 那么一定符合要求
    • 结果颜色数量<=2:在n<=2时为1种颜色 >2时为2种颜色
cpp 复制代码
  #include <iostream>
  #include <cstring>
  #include <algorithm>
  
  using namespace std;
  const int N = 100010;
  
  int prime[N],cnt;
  bool st[N];
  
  void get_prime(int n)
  {
      for(int i=2;i<=n;i++)
      {
          if(!st[i]) prime[cnt++] = i;
          for(int j=0;prime[j] * i <= n;j++)
          {
              st[prime[j]*i] = true;
              if(i % prime[j] == 0) break; 
          }
      }
  }
  
  int main()
  {
      int n;
      cin>>n;
      get_prime(n+1);
      if(n<=2) cout<<1<<endl;
      else cout<<2<<endl;
      for(int i=2;i<=n+1;i++)
      {
          if(st[i]) cout<<"2 ";
          else cout<<"1 ";
      }
  }
相关推荐
还是阿落呀3 分钟前
基本控制结构2
c++
多思考少编码25 分钟前
PAT甲级真题1001 - 1005题详细题解(C++)(个人题解)
c++·python·最短路·pat·算法竞赛
极客智造2 小时前
C++ 标准 IO 流全详解:cin /cout/get /getline 原理、用法、区别与避坑
c++·io
charlie1145141912 小时前
嵌入式C++工程实践第20篇:GPIO 输入模式内部电路 —— 芯片是如何“听“到外部信号的
开发语言·c++·stm32·单片机
aini_lovee2 小时前
多目标粒子群优化(MOPSO)双适应度函数MATLAB实现
人工智能·算法·matlab
yong99902 小时前
图像融合与拼接:完整MATLAB工具箱
算法·计算机视觉·matlab
春风不语5052 小时前
深入理解主成分分析(PCA)
算法
apollowing2 小时前
启发式算法WebApp实验室:从搜索策略到群体智能的能力进阶(二十二)
算法·启发式算法·web app
晚枫歌F2 小时前
最小堆定时器
数据结构·算法
Lumos_7773 小时前
Linux -- 线程
java·jvm·算法