2007-2008 ACM-ICPC, NEERC, Southern Subregional Contest J
来源:互联网 发布:中国期货数据 编辑:程序博客网 时间:2024/05/26 08:42
题目链接
http://codeforces.com/gym/101503/attachments
题目大意
输入一个n(1 <= n <= 10 000), 让你给1~n这n个数进行染色,对于任意数A和B,如果A能整除B, 那么这两个数字就不能染成同一种颜色
问你给n个数染色最少需要几种颜色
思路
由于n不大,直接暴力就好了,对于每一个数字,我们往前面找,找到符合条件的颜色
这里有个小优化,如果直接枚举颜色去找会超时,我们可以用set把一个数不能涂颜色放进它对应的set里面,这样枚举颜色的时候就可以log(n)复杂度判断该颜色是否可用了
代码
#include<bits/stdc++.h>using namespace std;int ans[10005];set<int>c[10005];int main(){ int n, tot = 1; scanf("%d", &n); ans[1] = 1; for(int i=1; i<=n; ++i) c[i].insert(1); for(int i=2, j; i<=n; ++i) { for(j=1; j<=tot; ++j) { if(c[i].find(j) == c[i].end()) { ans[i] = j; break; } } if(j == tot+1) ans[i] = ++tot; for(j=i+i; j<=n; j+=i) c[j].insert(ans[i]); } printf("%d\n", tot); for(int i=1; i<=n; ++i) printf("%d%c", ans[i], " \n"[i==n]); return 0;}
总结
唉,这么简单的一道题比赛的时候往数学方向想了,没去想是否可以暴力实现
别人都写出来我一直写不出直接导致心态崩了
阅读全文
0 0
- 2007-2008 ACM-ICPC, NEERC, Southern Subregional Contest J
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest J Bottles
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest J dp
- 2008-2009 ACM-ICPC, NEERC, Southern Subregional Contest
- 2007-2008 ACM-ICPC, NEERC, Southern Subregional Contest K. Extrasensory Perception(错排)
- Codeforces 2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest J题(BFS)
- CodeForces 589J ——2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest
- Codeforces 730 J. Bottles DP 0-1背包- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest J.Bottles(背包,好题)
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest J Bottle动态规划
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest - J. Bottles(DP)
- 2012-2013 ACM-ICPC, NEERC, Southern Subregional Contest 解题报告
- 2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest
- 2010-2011 ACM-ICPC, NEERC, Southern Subregional Contest
- 2010-2011 ACM-ICPC, NEERC, Southern Subregional Contest
- 2009-2010 ACM-ICPC, NEERC, Southern Subregional Contest B kakuro
- 2010-2011 ACM-ICPC, NEERC, Southern Subregional Contest E
- 如何理解if __name__ == '__main__':
- 城市列表的简单实现
- BZOJ 1202: [HNOI2005]狡猾的商人 带权并查集
- 微服务概述
- 43.笔记go语言圣经——go语言特性
- 2007-2008 ACM-ICPC, NEERC, Southern Subregional Contest J
- 44.笔记go语言圣经——go平台与架构
- C++构造函数和析构函数中抛出异常
- 硬币组合问题之最少硬币个数
- 洛谷1419 寻找段落
- finally用法
- 【kmp算法next数组求解公共前后缀】Seek the Name, Seek the Fame POJ
- L3-001. 凑零钱
- 【雪球素数】worldline 题解