题目背景
人类目前已经研究出了多种基因编辑技术,其中最传统的一种技术需要用到“限制性核酸内切酶”(简称限制酶)。这种酶能够识别特定的核苷酸序列,并在指定的位点上切割连接相邻核苷酸的磷酸二酯键,产生被称为“末端”的序列切口。只有相匹配的末端才能用 DNA 连接酶进行连接。
假设现在要用基因片段
- 在基因A的两端各选择一种限制酶识别位点。这两处识别位点在基因B的两端也应当相应存在。
- 用所选择的识别位点对应的限制酶对基因
进行处理,使得其两端产生相应的末端。将处理后的基因 提纯。 - 用同样的限制酶切断载体
上的识别位点,使得基因 与载体 断开。纯化出去除了基因 的载体 。 - 将载体
与基因 混合,并在 DNA 连接酶的帮助下将断开的磷酸二酯键重新接上。
值得一提的是,如果两处识别位点断开后产生了相同的末端,那么在第4步中载体
题目描述
公元 3032 年,人类发现了一种掌握了基因编辑技术的外星文明 HD1048576d。当然,这种基因编辑的技术仅限于居住在 HD1048576d 这颗行星上的外星生物的基因。我们人类掌握的基因编辑技术可识别的最小单位是 DNA 序列上的单个碱基,而外星文明的基因编辑技术可识别的最小单位是其基因序列上的单个 noicleobase。出于方便起见,我们可以将单个 noicleobase 用从
对于一段长度为
- 选择一段要编辑的区域
,即原位替换原序列中 这部分子序列; - 挑选一对跨过待替换区域的下标
(即 且 ),批量生产出 这段子序列在编辑后对应的新序列 ; - 通过对应的特异性识别工具,将
这段子序列从原序列中断开,并将 接到序列中,即可得到目标基因序列。
需要注意的是,在步骤 2 中,挑选的这对下标必须对应唯一的 noicleobase 组合。也就是说,能够满足
另外,由于替换时需要生产新的基因序列,而生产这样的序列需要不小的开销,所以外星文明希望能够最小化需要生产的基因序列长度。显然,最小化这一长度等价于最小化被切割下来的基因子序列的长度,所以实践中一般是通过最小化被切割下来的基因子序列长度来计算最优解的。
现在,他们想考考人类文明的智力水平,于是你被他们从众多高中生中挑选出来解决这一问题。
简化题意:
给定
输入格式
从标准输入读入数据。
输入的第一行包含三个正整数
输入的第二行包含
输出格式
输出到标准输出。
如果存在满足外星文明的基因编辑技术限制的基因序列切割方案,则输出一个正整数,表示输出所有方案中,被切割下来的基因子序列的最小值。否则,输出 -1
,表示不存在满足限制的切割方案。
样例一
input
10 4 6 2 1 4 7 4 8 3 6 4 8
output
6
explanation
最优方案为切割 1 4 7 4 8 3
。可以证明,没有比这更优秀的满足技术限制的切割方案。
一种比该方案切割长度更短的方案是 4 7 4 8 3
,但是在这种方案中特异性识别工具可能会断开 4 8 3
,从而导致产生的目标基因序列出现意外的突变,因此这种切割方案不满足技术限制。
样例二、三
见附件下载,这两组样例分别满足子任务
数据范围与提示
对于
本题共有 5 个子任务,你需要通过一个子任务中的所有测试点才能获得该子任务的相应分数。下表为各子任务的数据规模及性质。
子任务编号 | 对应分数 | 特殊性质 | ||
---|---|---|---|---|
上表中的“特殊性质”为:
时间限制:
空间限制: