设正文串长度为n,模式串长度为m,则模式匹配的KMP算法的时间复杂度为()
A.O(m*n)
B.O(n)
C.O(m)
D.O(m+n)
- · 有5位网友选择 C,占比62.5%
- · 有1位网友选择 D,占比12.5%
- · 有1位网友选择 B,占比12.5%
- · 有1位网友选择 A,占比12.5%
A.O(m*n)
B.O(n)
C.O(m)
D.O(m+n)
用动态规划算法求解和的一个最长公共子序列(LCS),标记函数的表B[i,j]如下表所示:该实例的解是(顺序从前到后给出最长公共子序列的字符,字符之间不要加任何符号)
试设计一个算法,利用T公司提供的m个补丁程序,将原软件修复成一个没有错误的软件,并使修复后的软件耗时最少.
算法设计:对于给定的n个错误和m个补丁程序,找到总耗时最少的软件修复方案.
数据输入:由文件input.txt提供输入数据.文件第1行有2个正整数n和m,n表示错误总数,m表示补丁总数(1≤n≤20,1≤m≤100).接下来m行给出了m个补丁的信息.每行包括一个正整数,表示运行补丁程序i所需时间以及2个长度为n的字符串,中间用个空格符隔开.在第1个字符串中,如果第k个字符bk为“+”,则表示第k个错误属于B1[i],若为“-”,则表示第k个错误属于B2[i],若为“0”,则第k个错误既不属于B1[i]也不属于B2[i],即软件中是否包含第k个错误并不影响补丁i的可用性.在第2个字符串中,如果第k个字符bk为“+”,则表示第k个错误属于F1[i],若为“-”,则表示第k个错误属于F2[i],若为“0”,则第k个错误既不属于F1[i]也不属于F2[i],即软件中是否包含第k个错误不会因使用补丁i而改变.
结果输出:将总耗时数输出到文件output.txt.如果问题无解,则输出0.
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!