题目大概:
一行数字要求从两边到中间依次增大,问给出的一行数字要去掉多少才能形成这种数列。
思路:
可以任选一个做中间数k,从1到n。
然后求第一个数到k的最长上升子序列的长度la,再求最后一个数到k的最长上升子序列的长度lb。
最后n-(la+la-1)就是去掉的数字个数,减一是因为多算了一个k。
感想:
有些题需要几个简单的算法混合使用或者重复使用。
代码:
一行数字要求从两边到中间依次增大,问给出的一行数字要去掉多少才能形成这种数列。
可以任选一个做中间数k,从1到n。
然后求第一个数到k的最长上升子序列的长度la,再求最后一个数到k的最长上升子序列的长度lb。
最后n-(la+la-1)就是去掉的数字个数,减一是因为多算了一个k。
有些题需要几个简单的算法混合使用或者重复使用。
上一篇:动态规划--买书(背包方案数)
下一篇:动态规划--最大上升子序列和
SpringBoot 动态加载 jar 包,动态配置方案
题目描述:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。合唱队
问题 C: 合唱队形时间限制: 1 Sec 内存限制: 32 MB提交: 45 解决: 25 题目描述N位同学站
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M