题目名称 3835. [雅礼集训 2017 Day10] 数列
输入输出 lisshulie.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 20
题目来源 GravatarBenjamin 于2023-02-27加入
开放分组 全部用户
提交状态
分类标签
动态规划 树状数组 线段树
分享题解
通过:2, 提交:3, 通过率:66.67%
Gravatar┭┮﹏┭┮ 100 0.830 s 9.73 MiB C++
GravatarBenjamin 100 2.160 s 10.50 MiB C++
Gravatar┭┮﹏┭┮ 55 0.873 s 9.73 MiB C++
本题关联比赛
2022级DP专题练习赛7
关于 数列 的近10条评论(全部评论)
还是BIT快
Gravatar┭┮﹏┭┮
2024-03-14 19:26 1楼

3835. [雅礼集训 2017 Day10] 数列

★★★   输入文件:lisshulie.in   输出文件:lisshulie.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

小 $A$ 有 $N$ 个正整数,紧接着,他打算依次在黑板上写下这 $N$ 个数。对于每一个数,他可以决定将这个数写在当前数列的最左边或最右边。现在他想知道,他写下的数列的可能的最长严格上升子序列(可由不连续的元素组成)的长度是多少,同时他还想知道有多少种不同的最长的严格上升子序列。


两个子序列被认为是不同的,当且仅当:两个子序列属于两个不同的写序列的方案(两个写序列中有至少一步是不一样的)或两个子序列位于同一写序列方案的不同位置。


由于结果可能很大,所以小 $A$ 只需要知道最长严格上升子序列的方案数对 $10 ^ 9 + 7$ 取模的结果。

【输入格式】

第一行一个整数 $N$ 。

第二行 $N$ 个正整数,表示小 $A$ 写下的初始序列 $S$。

【输出格式】

输出一行两个整数,最长严格上升子序列的长度以及方案数模 $10 ^ 9 + 7$ 后的结果。

【样例1输入】

2
1 1

【样例1输出】

1 4

【样例2输入】

4
2 1 3 4

【样例2输出】

4 1

【样例3】

点击下载样例3 

【数据规模与约定】

对于 $30\%$ 的数据, $N \leq 20$ ;

对于 $50\%$ 的数据, $1 \leq N \leq 1000$ ;

对于 $100\%$ 的数据, $1 \leq N \leq 200000,初始数列元素 S_i \lt 10^9$ 。