夏洛克和他的女朋友

您所在的位置:网站首页 夏洛克的女朋友免费阅读 夏洛克和他的女朋友

夏洛克和他的女朋友

2024-07-04 15:44| 来源: 网络整理| 查看: 265

夏洛克和他的女朋友 题目描述

image-20210917095018031

核心思路

可以将这个题抽象成一个图,所有珠宝的价值是图中的顶点,当一个珠宝的价格是另一个珠宝的质因子时,我们可以在这两个点之间连接一条边。

如果这样建图的话,我们可以将质数放在左边,合数放在右边,则左边内部和右边内部是不可能有边的,只有可能是从质数的节点向合数的节点连一条边,所以此图是一个二分图,一个图是二分图,等价于该图可以二染色。因此,本题最多只会染两种颜色,最少染一种颜色。

那么什么情况下需要染两种颜色,什么情况下需要染一种颜色呢?然后我们仔细挖掘一下该题,可以发现,当珠宝数量 n ≤ 2 n\leq 2 n≤2时,我们只需要染一种颜色即可。因为当珠宝数量 n ≤ 2 n\leq 2 n≤2时,比如 n = 1 n=1 n=1,那么珠宝价值是{2}, n = 2 n=2 n=2,珠宝价值是 2 , 3 {2,3} 2,3,可以发现都是质数集合,因此只需要一种颜色即可。当珠宝数量 n > 2 n>2 n>2时,则需要染两种颜色,比如 n = 3 n=3 n=3,那么珠宝价值是 2 , 3 , 4 {2,3,4} 2,3,4,存在质数和合数,因此需要两种颜色。

代码 #include #include #include using namespace std; const int N=1e5+10; int primes[N],cnt; bool st[N]; int n; //线性筛法筛出1~n中的所有质数 void init(int n) { for(int i=2;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3