题目链接:点击查看

题目大意:给出 n 个合数,每个数不超过 1000 ,现在要求给每个数涂上颜色,使得相同颜色的任意两个数的 gcd 都大于 1 ,现在问在总颜色数不超过 11 种的情况下,构造出一种可行方案

题目分析:因为每个数不超过 1000 所以可以考虑质因子分解,又因为每个数都是合数,所以每个数都可以被拆分出至少两个质因子,而第 12 个质数为 37 ,37 * 37 > 1000 ,所以根据质因子分配颜色是可行的,于是直接实现就好了,比赛时用了vector,赛后发现用map会更简单一些

代码:

#include<iostream>
#include<cstdio>
#include<string>
#include<ctime>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<stack>
#include<climits>
#include<queue>
#include<map>
#include<set>
#include<sstream>
#include<unordered_map>
using namespace std;typedef long long LL;typedef unsigned long long ull;const int inf=0x3f3f3f3f;const int N=2e5+100;map<int,int>mp;int ans[N];int main()
{
#ifndef ONLINE_JUDGE
//  freopen("input.txt","r",stdin);
//  freopen("output.txt","w",stdout);
#endif
//  ios::sync_with_stdio(false);int w;cin>>w;while(w--){mp.clear();int n,cnt=0;scanf("%d",&n);for(int i=1;i<=n;i++){int num;scanf("%d",&num);for(int j=2;j<=num;j++)if(num%j==0){if(mp[j])ans[i]=mp[j];elsemp[j]=ans[i]=++cnt;break;}}printf("%d\n",cnt);for(int i=1;i<=n;i++)printf("%d ",ans[i]);puts("");}return 0;
}

CodeForces - 1332B Composite Coloring(数论+构造)相关推荐

  1. Composite Coloring(思维 数论(筛素数 分解质因数))

    (29条消息) CodeForces - 1332B Composite Coloring(数论+构造)_Frozen_Guardian的博客-CSDN博客 (29条消息) codeforces 13 ...

  2. Codeforces 1276C/1277F Beautiful Rectangle (构造)

    题目链接 http://codeforces.com/contest/1276/problem/C 题解 嗯,比赛结束前3min想到做法然后rush不出来了--比赛结束后又写了15min才过-- 以下 ...

  3. Codeforces 1246D/1225F Tree Factory (构造)

    题目链接 https://codeforces.com/contest/1246/problem/D 题解 首先考虑答案的下界是\(n-1-dep\) (\(dep\)为树的深度,即任何点到根的最大边 ...

  4. CodeForces - 1354E Graph Coloring(dfs判断二分图+dp)

    题目链接:点击查看 题目大意:给出一个由 n 个点和 m 条边组成的无向图,要求给 n 个点赋值为 1 . 2 或 3 ,需要满足以下条件: 每个点都需要被赋值 权值为 1 的点共 n1 个 权值为 ...

  5. Codeforces 798D Mike and distribution (构造)

    题目链接 http://codeforces.com/contest/798/problem/D 题解 前几天的模拟赛,居然出这种智商题..被打爆了QAQ 这个的话,考虑只有一个序列怎么做,把所有的排 ...

  6. CodeForces - 1553F Pairwise Modulo(数论+树状数组)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的序列,求 pk=∑1≤i,j≤kaimodajp_k = \sum_{1 \le i, j \le k} a_i \bmod a_jpk​=∑1 ...

  7. CodeForces - 1332D Walk on Matrix(构造)

    题目链接:点击查看 题目大意:给出一个错误的dp程序,目的是为了求从点 ( 1 , 1 ) 到点 ( n , m ) 只能向下移动或向右移动,找出一条路径,使得 与运算 的结果最大,给出一个 k ,构 ...

  8. CodeForces - 1325D Ehab the Xorcist(构造+异或)

    题目链接:点击查看 题目大意:给出一个 u 和一个 v ,要求构造出最短的一个数组,使得 所有元素异或的结果为 u 所有元素之和的结果为 v 输出构造的结果 题目分析:情况稍微比较复杂的一道构造题,读 ...

  9. CodeForces - 1301D Time to Run(构造+模拟)

    题目链接:点击查看 题目大意:给出一个n*m的矩阵,现在每两个格子之间都有一条双向的通道,初始时有个人在左上角的格子中,现在要求这个人精确的走 k 条路,不过每条路只能走一次,但是每个格子可以走无限次 ...

最新文章

  1. spark-shuffle分析
  2. webpack 搭建rect项目
  3. SRM596 DIV2 250
  4. 为什么道理都懂,却还是一事无成
  5. python循环中append_[Python]list.append()在for循环中每次添加的都是最后的一个元素
  6. NYOJ 752 又见回文串
  7. 175 道面试必考 Go 语言题目详细解答
  8. (转载)最黑的黑客米特尼克:多次耍FBI 终被高手擒
  9. 业务系统里面常见的方法接口设计
  10. 彭博社推出“机器学习基础”课程
  11. 【java】Thread.Sleep 与 Thread.onSpinWait
  12. vue方法传值到data_Vue组件创建和传值的方法
  13. Android什么时候用抽象类什么时候用接口
  14. 第 13 章 MEncoder的基础用法
  15. linux php添加扩展zip libzip ZipArchive功能
  16. 深度学习:语言模型的评估标准
  17. matlab如何动态输出很长的图片,Qt实现长图片的放大缩小以及动态显示
  18. c语言英文字母降序排列,英文单词排序
  19. datamap excel插件_Excel地图插件 DataMap
  20. 中国省,市,区 json数据

热门文章

  1. php 如何 闭源,Linux_Debian如何安装闭源软件包有哪些方法,  在系统操作中,闭源软件 - phpStudy...
  2. java finereport_java报表FineReport_JS整理
  3. springboot对象方式注入
  4. Nacos-NacosRule负载均衡
  5. Nginx关于浏览器缓存相关的配置指令
  6. Paxos在Chubby中的应用
  7. HTTP协议通信原理
  8. RedisTemplate 使用 Redis 缓存
  9. SpringMVC的数据响应-回写数据-直接回写json格式字符串(应用)
  10. 授权码模式-获取令牌