1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

思路总览

给定是一个 1∼n1\sim n1∼n 的排列。设全局最长上升子序列(LIS)长度为 LLL。 对每个位置 iii,我们只需统计:有多少条 LIS 会“经过”元素 aia_iai​。

经典分解法:

  • 令 Lend[i]:以位置 i 结尾的最长上升子序列长度;
  • 令 CntL[i]:达到 Lend[i] 的方案数;

P3521.第2题-上升子序列

    1000ms Tried: 36 Accepted: 9 Difficulty: 7 所属公司 : 京东
    算法与标签>动态规划

题目内容

给定一个长为nnn 的排列 {aaa}。排列是指,{aaa} 包含111~nn n中的所有元素恰好一次。

回顾一下,{aaa} 的一个子序列是指从{aaa}中将若干元素(不一定连续)提取出来而不改变相对位置形成 的序列。 对于 {aaa} 的一个子序列 {bbb},如果 {bbb} 中的元素单调递增,就称{bbb}是{aaa}的一个上升子序列。 对于{aaa}的一个上升子序列{ccc},如果找不到比{ccc}元素个数更多的上升子序列了,就称 {ccc} 是 {aaa} 的 一个最长上升子序列。显然,{aaa} 可以有很多个最长上升子序列。 请你对每个i∈[1,n]i∈[1,n]i∈[1,n],求出有多少个不同的{aaa}的最长上升子序列包含aia_iai​。

输入描述

第一行一个正整数nnn

第二行n个正整数,以空格分隔,表示a1,a2,...,ana_1,a_2,...,a_na1​,a2​,...,an​

保证 {aaa} 是一个 111~nnn 的排列。 1≤n≤2×1051≤n≤2×10^51≤n≤2×105

输出描述

输出 nnn 行,每一行一个非负整数。第i行的输出表示包含aaa 的最长上升子序列个数。

因为答案可能很大,所以你只需要输出答案对998244353998244353998244353取模的结果。

样例1

输入

5
3 1 4 2 5

输出

1
2
2
1
3

说明

对于输入的排列,其最长上升子序列长度为333,所有不同的最长上升了序列如下:

  • 1,2,51,2,51,2,5。
  • 1,4,51, 4, 51,4,5。
  • 3,4,53, 4,53,4,5。

以 a1a_1a1​和 a2a_2a2​为例。 包含了a1=3a_1=3a1​=3的最长上升子序列有111个,故答案为1 11。 包含了a2=1a_2=1a2​=1的最长上升子序列有222 个,故答案为222。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 33ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?