黄石市网站建设_网站建设公司_域名注册_seo优化
2026/1/2 13:40:21 网站建设 项目流程

很显然,这是一道构造题。

思路

我们以惊人的注意力发现,其实答案只有 \(4\) 种情况:

  • 全是 \(1\),任意两个加起来都是 \(2\)

  • \(m\)\(1\) 后面还有一个数 \(x\),其中 \(x+1\) 为质数。

  • 有两个数 \(x\)\(y\),其中 \(x+y\) 为质数。

  • 只有一个数 \(x\)

很多人想问为什么在 \(m\)\(1\) 后面只有一个数 \(x\) 呢?我们用反证法,假设后面有两个数 \(x\)\(y\) 其中 \(x,y \ne 1\),由于 \(x+1\) 为质数,所以 \(x\) 必为偶数,那么 \(x+y\) 也得是质数,所以 \(y\) 为奇数,但 \(y+1\) 就为偶数,所以矛盾。

代码实现

对于前两个构造还是很好实现的,对于后面两个构造我们用素数筛先筛出素数后,再进行二分查询即可。(素数筛的空间要开大两倍)

代码很好写,这里就不放了。

这里给出 \(2\) 组 Hack。

Hack

Input \(1\)

2
999996 999997

Output \(1\)

2
999997 999996

Input \(2\)

3
1 5 8

Output \(2\)

2
5 8

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询