欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
S42402.24-2 丈量走廊
24-2 丈量走廊
丈量走廊
能源分配完了,但Zero的核心是一个走廊——需要丈量长度。
"走廊?"CC问。
"对。"你说,"给定一个序列,找最长的递增子序列。"
"递增?"
"对。"你说,"每个数比前一个大。"
"子序列?"
"对。"你说,"不要求连续,但要求顺序。"
"咋找?"
"动态规划。"你说,"表示以第个数结尾的最长递增子序列长度。"
"转移?"
"枚举前面的数。"你说,"如果,。"
"?"
"对。"你说,"但可以用二分优化到。"
"二分?"
"对。"你说,"维护一个数组,表示长度为的递增子序列的最小结尾。"
"第47个数。"你说,"值为47——如果前面有46个数比它小,。"
"最长?"
"对。"你说,"如果序列是,最长递增子序列就是47。"
"如果乱序?"
"看具体值。"你说,"但总能找到一个最长的。"
CC看着走廊——像一条道,像一条河,像某种只能前进不能后退的路。
"走多远?"她问。
"看你能找到多长的递增序列。"你说,"每一步都要比前一步高。"
"像爬山?"
"对。"你说,"像爬山——每一步都要更高。"
"累了?"
"对。"你说,"但山顶的风景值得。"
Echo把递增子序列标记出来——像一串脚印,像一条上升的路。
"以前我走平地。"她说,"现在……在爬坡。"
"因为你在进步。"你说。
"对。"她说,"因为我在进步。"
题目描述
给定长度为的序列,求最长严格递增子序列的长度。
输入格式
第一行。第二行个整数。
输出格式
最长严格递增子序列长度。
输入样例
5
1 2 3 4 5
输出样例
Oil : 9
2 1
3 1
提示
- 表示以结尾的最长长度。
- 二分优化:维护为长度为的最小结尾。
- 时间复杂度。
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |