classSolution:deflongestCommonSubsequence(self, text1:str, text2:str)->int:
m, n =len(text1),len(text2)
f =[[0]*(n +1)for _ inrange(m +1)]for i inrange(1, m +1):for j inrange(1, n +1):if text1[i -1]== text2[j -1]:
f[i][j]= f[i -1][j -1]+1else:
f[i][j]=max(f[i -1][j], f[i][j -1])return f[m][n]
杨辉三角形
给定一个正整数 N,请你输出杨辉三角数列中第一次出现 N 是在第几个数?
n =int(input(''))
arr =[]for i inrange(n):
arr.append([])for j inrange(i+1):if j ==0or i == j:
arr[i].append(1)else:
arr[i].append(arr[i-1][j-1]+ arr[i-1][j])print(" ".join(str(a)for a in arr[i]))
n =int(input())
i =0
f2 =[0]*105
f3 =[0]*105while f3[i]< n:
i +=1
f2[i]= f2[i-1]+i
f3[i]= f3[i-1]+f2[i-1]+1print(i)
K 好数
问题描述
如果一个自然数 N 的 K 进制表示中任意的相邻的两位都不是相邻的数字,那么
我们就说这个数是 K 好数。求 L 位 K 进制数中 K 好数的数目。例如 K =4,L =2
的时候,所有 K 好数为 11、13、20、22、30、31、33 共 7 个。由于这个数目很
大,请你输出它对 1000000007 取模后的值。
输入格式
输入包含两个正整数,K 和 L。
输出格式
输出一个整数,表示答案对 1000000007 取模后的值。
样例输入
42
样例输出
7
数据规模与约定
对于 30%的数据,KL <=106;
对于 50%的数据,K <=16, L <=10;
对于 100%的数据,1<= K,L <=100
k,l =map(int,input().split())
count =0
dp =[[0for _ inrange(k)]for __ inrange(l)]for i inrange(k):
dp[0][i]=1for i inrange(1,l):for j inrange(k):for x inrange(k):if x != j-1and x != j+1and k !=0:if j-1==0and x ==0:continue
dp[i][j]+= dp[i-1][x]
dp[i][j]%=1000000007for i inrange(1,k):
count += dp[l-1][i]
count %=1000000007print(count)