文章目录
1.枚举法–>动态规划
-
阿姆斯特朗数
#把int先转成str for i in range(99,9999999): a=list(map(int,str(i))) sum=0 for j in a: sum+=j**len(a) if sum==i: print(i) #优化,增加sum>i跳出 for i in range(99,9999999): a=list(map(int,str(i))) sum=0 for j in a: sum+=j**len(a) if sum>i: break if sum==i: print(i)
-
字母算数
-
最少线连接所有点
-
最大连续子序列
# 状态转移方程:MaxSum[i] = Max{ MaxSum[i-1] + A[i], A[i]} a=list(map(int,input().split())) sum=0 result=0 for i in a: sum+=i result=max(sum,result) if sum<0: sum=0 print(result)
-
01背包问题
V(i,j)=V(i-1,j) 无法再放入 V(i,j)=max(V(i-1,j) , V(i-1,j-wi)+v(i)) 可以再放入 tian'x