标签:print 字符串 自底向上 回文串 输出 单源最短路径 删除 动态规划 kmp算法
题目:
给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。
思路:利用回文的性质,利用动态规划求原字符串和其反串的最大公共子序列。
N = int(input())
NList = [i for i in range(2,N+1)]
PrimeList = []
for i, num in enumerate(NList):
if num == 0:
continue
for j in range(i+1, len(NList)):
if NList[j]==0:
continue
elif NList[j]%NList[i]==0:
NList[j] = 0
for i in NList:
if i != 0:
PrimeList.append(i)
print(PrimeList)
标签:print 字符串 自底向上 回文串 输出 单源最短路径 删除 动态规划 kmp算法
原文地址:https://www.cnblogs.com/JetBlock/p/12361338.html