CodeForces - 1332B Composite Coloring(数论+构造)
题目链接:点击查看
题目大意:给出 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(数论+构造)相关推荐
- Composite Coloring(思维 数论(筛素数 分解质因数))
(29条消息) CodeForces - 1332B Composite Coloring(数论+构造)_Frozen_Guardian的博客-CSDN博客 (29条消息) codeforces 13 ...
- Codeforces 1276C/1277F Beautiful Rectangle (构造)
题目链接 http://codeforces.com/contest/1276/problem/C 题解 嗯,比赛结束前3min想到做法然后rush不出来了--比赛结束后又写了15min才过-- 以下 ...
- Codeforces 1246D/1225F Tree Factory (构造)
题目链接 https://codeforces.com/contest/1246/problem/D 题解 首先考虑答案的下界是\(n-1-dep\) (\(dep\)为树的深度,即任何点到根的最大边 ...
- CodeForces - 1354E Graph Coloring(dfs判断二分图+dp)
题目链接:点击查看 题目大意:给出一个由 n 个点和 m 条边组成的无向图,要求给 n 个点赋值为 1 . 2 或 3 ,需要满足以下条件: 每个点都需要被赋值 权值为 1 的点共 n1 个 权值为 ...
- Codeforces 798D Mike and distribution (构造)
题目链接 http://codeforces.com/contest/798/problem/D 题解 前几天的模拟赛,居然出这种智商题..被打爆了QAQ 这个的话,考虑只有一个序列怎么做,把所有的排 ...
- CodeForces - 1553F Pairwise Modulo(数论+树状数组)
题目链接:点击查看 题目大意:给出一个长度为 nnn 的序列,求 pk=∑1≤i,j≤kaimodajp_k = \sum_{1 \le i, j \le k} a_i \bmod a_jpk=∑1 ...
- CodeForces - 1332D Walk on Matrix(构造)
题目链接:点击查看 题目大意:给出一个错误的dp程序,目的是为了求从点 ( 1 , 1 ) 到点 ( n , m ) 只能向下移动或向右移动,找出一条路径,使得 与运算 的结果最大,给出一个 k ,构 ...
- CodeForces - 1325D Ehab the Xorcist(构造+异或)
题目链接:点击查看 题目大意:给出一个 u 和一个 v ,要求构造出最短的一个数组,使得 所有元素异或的结果为 u 所有元素之和的结果为 v 输出构造的结果 题目分析:情况稍微比较复杂的一道构造题,读 ...
- CodeForces - 1301D Time to Run(构造+模拟)
题目链接:点击查看 题目大意:给出一个n*m的矩阵,现在每两个格子之间都有一条双向的通道,初始时有个人在左上角的格子中,现在要求这个人精确的走 k 条路,不过每条路只能走一次,但是每个格子可以走无限次 ...
最新文章
- spark-shuffle分析
- webpack 搭建rect项目
- SRM596 DIV2 250
- 为什么道理都懂,却还是一事无成
- python循环中append_[Python]list.append()在for循环中每次添加的都是最后的一个元素
- NYOJ 752 又见回文串
- 175 道面试必考 Go 语言题目详细解答
- (转载)最黑的黑客米特尼克:多次耍FBI 终被高手擒
- 业务系统里面常见的方法接口设计
- 彭博社推出“机器学习基础”课程
- 【java】Thread.Sleep 与 Thread.onSpinWait
- vue方法传值到data_Vue组件创建和传值的方法
- Android什么时候用抽象类什么时候用接口
- 第 13 章 MEncoder的基础用法
- linux php添加扩展zip libzip ZipArchive功能
- 深度学习:语言模型的评估标准
- matlab如何动态输出很长的图片,Qt实现长图片的放大缩小以及动态显示
- c语言英文字母降序排列,英文单词排序
- datamap excel插件_Excel地图插件 DataMap
- 中国省,市,区 json数据
热门文章
- php 如何 闭源,Linux_Debian如何安装闭源软件包有哪些方法, 在系统操作中,闭源软件 - phpStudy...
- java finereport_java报表FineReport_JS整理
- springboot对象方式注入
- Nacos-NacosRule负载均衡
- Nginx关于浏览器缓存相关的配置指令
- Paxos在Chubby中的应用
- HTTP协议通信原理
- RedisTemplate 使用 Redis 缓存
- SpringMVC的数据响应-回写数据-直接回写json格式字符串(应用)
- 授权码模式-获取令牌