QOJ.ac
QOJ
QOJ is currently under a maintenance. It might be unavailable in the following a few hours.
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#728756 | #2513. A Color Game | vwxyz# | TL | 15ms | 10684kb | Python3 | 1.8kb | 2024-11-09 15:50:44 | 2024-11-09 15:50:45 |
Judging History
answer
S,M=input().split()
M=int(M)
def solve(S,M):
N=len(S)
S=list(S)
for i in range(N):
S[i]=ord(S[i])-65
dp=[[0]*(N+1) for n in range(N+1)]
def idx(l,r,s):
return (l*(N+1)+r)*26+s
inf=1<<30
dpS=[-inf]*(N+1)*(N+1)*26
prev=[[None]*N for a in range(26)]
for a in range(26):
for i in range(N):
if S[i]==a:
prev[a][i]=i
elif i:
prev[a][i]=prev[a][i-1]
nxt=[[None]*N for a in range(26)]
for a in range(26):
for i in range(N-1,-1,-1):
if S[i]==a:
nxt[a][i]=i
elif i<N-1:
nxt[a][i]=nxt[a][i+1]
for d in range(N+1):
for l in range(N-d+1):
r=l+d
if d==0:
dp[l][r]=1
for s in range(26):
dpS[idx(l,r,s)]=0
else:
for m in range(l+1,r):
dp[l][r]|=dp[l][m]&dp[m][r]
for s in range(26):
I=[]
i=nxt[s][l]
while i!=None and i<r:
I.append(i)
if i==N-1:
break
i=nxt[s][i+1]
L,R=[l],[]
for i in I:
R.append(i)
L.append(i+1)
R.append(r)
for i in I:
if dp[l][i]:
dpS[idx(l,r,s)]=max(dpS[idx(l,r,s)],1+dpS[idx(i+1,r,s)])
if dpS[idx(l,r,s)]>=M:
dp[l][r]=1
if dp[0][N]:
ans="Yes"
else:
ans="No"
return ans
ans=solve(S,M)
print(ans)
詳細信息
Test #1:
score: 100
Accepted
time: 3ms
memory: 10620kb
input:
BBBRRRRRRGGGB 3
output:
Yes
result:
ok single line: 'Yes'
Test #2:
score: 0
Accepted
time: 9ms
memory: 10684kb
input:
BBBRRRRRRGGGB 4
output:
No
result:
ok single line: 'No'
Test #3:
score: 0
Accepted
time: 15ms
memory: 10648kb
input:
RRRRGGGRRRRRG 3
output:
Yes
result:
ok single line: 'Yes'
Test #4:
score: -100
Time Limit Exceeded
input:
GMYCGMRMGYMRMKCBKBMKKBMMKBBKMBMRRMGYKKMBKMYRGGBMRMKKKBRCMKYCCKYGYYKKCKRCYGGKGRBCKMYMRCRGBRRYCCKKRRKRCKMMMGCCGYYKMCRGMKCYBMRRKYYRRKGGRBMCKGBBYYGGGBBYBBRCCMGKKGRGRMRRBRCYGGGKBRKCBYCKMMBRCGKCCYYMMCKGRBYRRGBBCGYKBBMKRBBKGCRBYCKMYKMCKMBRMGGYBKBRBMYGGCKYCMYKBRCCGCYRRRKCKCBKCMCYBKRBKMCCYRBKBGGMGMCBGMBMYCCK 1