解题思路:
求最长上升序列,动态规划。
注意事项:
条件是只要不是美味度小于前一个就吃的爽,所以是可以等于的。否则会报答案错误27。
参考代码:
n = int(input()) nums = list(map(int,input().split())) dp = [0 for _ in range(n)] maxVal = 0 #求最大上升序列 for i in range(n): dp[i] = 1 for j in range(i): if nums[i] >= nums[j] and dp[i] < (dp[j]+1): dp[i] = dp[j] + 1 if maxVal < dp[i]: maxVal = dp[i] print(maxVal)
0.0分
3 人评分
简单的a+b (C语言代码)浏览:511 |
简单的a+b (C语言代码)浏览:652 |
【数组的距离】 (C语言代码)浏览:754 |
十->二进制转换 (C语言代码)浏览:1308 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:619 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:628 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:550 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:616 |
简单的a+b (C语言代码)浏览:540 |
printf基础练习2 (C语言代码)浏览:767 |