3305. 作物杂交
题目链接
3305. 作物杂交
作物杂交是作物栽培中重要的一步。
已知有 种作物 (编号 至 ),第 种作物从播种到成熟的时间为 。
作物之间两两可以进行杂交,杂交时间取两种中时间较长的一方。
如作物 种植时间为 天,作物 种植时间为 天,则 杂交花费的时间为 天。
作物杂交会产生固定的作物,新产生的作物仍然属于 种作物中的一种。
初始时,拥有其中 种作物的种子 (数量无限,可以支持多次杂交)。
同时可以进行多个杂交过程。
求问对于给定的目标种子,最少需要多少天能够得到。
如存在 种作物 ,各自的成熟时间为 天、 天、 天、 天。
初始拥有 两种作物的种子,目标种子为 ,已知杂交情况为 ,。
则最短的杂交过程为:
第 天到第 天 (作物 的时间),。
第 天到第 天 (作物 的时间),。
花费 天得到作物 的种子。
输入格式
输入的第 行包含 个整数 表示作物种类总数 (编号 至 ), 表示初始拥有的作物种子类型数量, 表示可以杂交的方案数, 表示目标种子的编号。
第 行包含 个整数,其中第 个整数表示第 种作物的种植时间 。
第 行包含 个整数,分别表示已拥有的种子类型 两两不同。
第 至 行,每行包含 个整数 ,表示第 类作物和第 类作物杂交可以获得第 类作物的种子。
输出格式
输出一个整数,表示得到目标种子的最短杂交时间。
样例解释
保证目标种子一定可以通过杂交得到。
不保证作物 和 杂交只能生成作物 (也就是说, 和 可能同时在输入中出现)
不保证作物 只能由作物 和 杂交生成(也就是说, 和 可能同时在输入中出现)。
不保证同一杂交公式不在输入中重复出现。
输入样例:
输出样例:
样例解释
第 天至第 天,将编号 与编号 的作物杂交,得到编号 的作物种子。
第 天至第 天,将编号 与编号 的作物杂交,得到编号 的作物种子。
第 天至第 天,将编号 与编号 的作物杂交,得到编号 的作物种子。
第 天至第 天,将编号 与编号 的作物杂交,得到编号 的作物种子。
总共花费 天。
解题思路
dfs
反向考虑,求解目标的最短天数,先dfs
求出合成目标的最短天数,这里需要注意合成一个种子在互不影响的前提下可以同时进行,这里记忆化搜索可以降低复杂度
- 时间复杂度:
代码
__EOF__

本文链接:https://www.cnblogs.com/zyyun/p/16110183.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!