一本通1623Sherlock and His Girlfriend
1623:Sherlock and His Girlfriend
时间限制: 1000 ms 内存限制: 524288 KB
【题目描述】
原题来自:Codeforces Round #400 B.
Sherlock 有了一个新女友(这太不像他了!)。情人节到了,他想送给女友一些珠宝当做礼物。
他买了 n 件珠宝。第 i 件的价值是 i+1。那就是说,珠宝的价值分别为 2,3,4,⋯,n+1。
Watson 挑战 Sherlock,让他给这些珠宝染色,使得一件珠宝的价格是另一件的质因子时,两件珠宝的颜色不同。并且,Watson 要求他最小化颜色的使用数。
请帮助 Sherlock 完成这个简单的任务。
【输入】
只有一行一个整数 n,表示珠宝件数。
【输出】
第一行一个整数 k,表示最少的染色数;
第二行 n 个整数,表示第 1 到第 n 件珠宝被染成的颜色。若有多种答案,输出任意一种。
【输入样例】
3
【输出样例】
2 1 1 2
【提示】
样例输入 2
4
样例输出 2
2 2 1 1 2
样例说明
因为 2 是 4 的一个质因子,因此第一件珠宝与第三件珠宝的颜色必须不同。
数据范围与提示:
对于全部数据,1≤n≤105 。
sol:第一眼看上去很难的样子(然后发现是质因数),于是可知最多分成两类,一类质数,一类非质数
Ps:n+1=2和n+1=3要特判下,因为 2,3两个数可以放一起,于是只有一类
#include <bits/stdc++.h> using namespace std; typedef int ll; inline ll read() {ll s=0;bool f=0;char ch=' ';while(!isdigit(ch)){f|=(ch=='-'); ch=getchar();}while(isdigit(ch)){s=(s<<3)+(s<<1)+(ch^48); ch=getchar();}return (f)?(-s):(s); } #define R(x) x=read() inline void write(ll x) {if(x<0){putchar('-'); x=-x;}if(x<10){putchar(x+'0'); return;}write(x/10);putchar((x%10)+'0');return; } #define W(x) write(x),putchar(' ') #define Wl(x) write(x),putchar('\n') const int N=100005; int n; bool Bo[N]; int Prime[N]; inline void Get_Prime() {int i,j;for(i=2;i<=n;i++){if(!Bo[i]) Prime[++*Prime]=i;for(j=1;j<=*Prime&&Prime[j]*i<=n;j++){Bo[Prime[j]*i]=1;if(i%Prime[j]==0) break;}}return; } int main() {int i;n=read()+1;if(n==2) return 0*printf("1\n1\n");if(n==3) return 0*printf("1\n1 1\n");Get_Prime();puts("2");for(i=2;i<=n;i++){W((Bo[i])?(2):(1));}return 0; }
View Code
转载于:https://www.cnblogs.com/gaojunonly1/p/10425807.html
一本通1623Sherlock and His Girlfriend相关推荐
- 《信息学奥赛一本通》提高版题单
第一部分 基础算法 第 1 章 贪心算法 #10000 「一本通 1.1 例 1」活动安排 #10001 「一本通 1.1 例 2」种树 #10002 「一本通 1.1 例 3」喷水装置 #10003 ...
- 一本通提高篇之一句话系列
[通知] 由于LL喜新厌旧另置新书,这篇博客目测,会无限咕下去 大概会在十月及以后再次拿起 [进度] 20/34 咿呀,还有14章了QwQ 我太蒻了 连一本通都没刷完 是分块哒(^~^) 例题解析请看 ...
- 一本通提高篇在线提交地址
一本通提高篇 1 基础算法 1.1 贪心算法 1.1.1 P2018 [第一章例题1.1]活动安排正确: 9 提交: 17 比率: 52.94 % 1.1.2 P2021 [第一章例题1.2]种树正 ...
- 计算机基础及msoffice应用书本,全国计算机等级考试一本通一级计算机基础及MSOffice应用2016年无纸化考试专用...
图书介绍 全国计算机等级考试一本通一级计算机基础及MSOffice应用2016年无纸化考试专用 全国计算机等级考试命题研究中心,未来教育教学与研究中心 编 出版社: 人民邮电出版社 ISBN:9787 ...
- SAP项目各模块简明调研提纲(一本通)
SAP项目各模块简明调研提纲(一本通) SD-销售/市场管理 1. 围绕总体销售组织.产品和销售业务类型等总体沟通业务和需求目标 2. 结合现有系统的销售计划.销售订单.价格管控.销售物流发货与仓储财 ...
- Matlab学习一本通,matlab基础教程
链接:https://pan.baidu.com/s/1uTCbiRfIxcrt6lmiy6_QlQ 提取码:f2dn Matlab学习一本通,matlab基础教程 <MATLAB R201 ...
- matlab完全自学一本通 pdf,matlab r2014a自学一本通 MATLAB R2014a完全自学一本通 中文pdf扫描版[125MB] 下载-脚本之家...
MATLAB R2014a完全自学一本通面向MATLAB 的初中级读者,在介绍MATLAB R2014a 集成环境的基础上,对MATLAB 使用中常用的知识和工具进行了详细的介绍,书中各章均提供了大量 ...
- 开放下载!《DTS控制台入门一本通》
简介:零基础快速入门DTS,一书在手,自学无忧,云运维工程师不可错过的匠心之作 本书图文结合,内容通俗易懂,逐层深入,重点内容详细剖析.通过作者透彻而睿智的描述,使读者在阅读本书时可以更加快速的了解到 ...
- 2021牛客多校2 - Girlfriend(球体积交)
题目链接:点击查看 题目大意:空间内有6个点,满足 ∣P1A∣≥k1∣P1B∣,∣P2C∣≥k2∣P2D∣|P_1A|\ge k_1|P_1B|,|P_2C|\ge k_2|P_2D|∣P1A∣≥k ...
最新文章
- Ubuntu查看系统位数及版本
- SEO内部链接优化的技巧
- PostgreSQL新手入门教程
- tcp连接的三次握手
- postgresql修炼之道_PostgreSQL内核开发学习资料
- halcon/c++接口基础 之异常处理
- 【2017-3-2】集合 结构体 枚举
- 可视化折线圆形统计图_统计图表的优雅变换:Altair|可视化系列06
- 为什么要用dubbo,dubbo和zookeeper关系,简单的dubbo搭建
- 超定方程组最小二乘解法——正规方程组求解(matlab代码)
- uniapp文件体积超过 500KB报错
- 形式语言与自动机_第二章_语言及文法
- 跨考中科院计算机 学硕,【20082P】中国科学院大学心理学考研学硕认知神经科学学姐:放弃保研,跨考二战上岸...
- 获取位置geolocation 加速度devicemotion	 角度deviceorientation
- 浅谈HTML页面基本结构
- 服务器租用多少钱一年呢?
- 关于人工智能的思考--以copilot、openAI为例
- 进程和线程的几种通信方式
- .md文件是什么?.md如何打开?
- 新闻推荐:谷歌新闻、搜狐新闻、今日头条调研分析
热门文章
- 二叉树 的建立及遍历 过程
- 在程序开发中怎样写SQL语句可以提高数据库的性能
- 【恋上数据结构】贪心(最优装载、零钱兑换、0-1背包)、分治(最大连续子序列和、大数乘法)
- 【网络安全工程师面试合集】—黑客常用的端口及攻击方法汇总
- Linux系统管理(7)——Linux单用户模式详解 及应用场景
- [转]Serverless,后端小程序的未来
- 移动端报表JS开发示例
- sql 临时表_深度分析 | JDBC与MySQL临时表空间的分析
- docker 安装mysql_安装docker并使用docker安装mysql
- vb.net word 自定义工具栏_Word双面快速简捷打印?