A1347 | [COCI-2016_2017-contest3]#6 Zoltan
来源COCI
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
Marton’s friend Cero has an array of N positive integers. In the beginning, Cero writes the first number on the board. Then he writes the second number to the left or to the right of the first number. After that, he writes the third number to the left or to the right of all the numbers written so far, and so on.
Marton asked Cero what the length of the longest possible strictly increasing subsequence (not necessarily of consecutive elements) was.
He also wants to know the number of such longest strictly increasing subsequences. More precisely, if the length of the longest increasing subsequence is M, he wants to know the sum of numbers of strictly increasing subsequences of length M for each possible sequence that Cero can construct. The sequences are different if they are constructed using a different order of moves, and the subsequences in a constructed sequence are different if they differ in at least one position.
Given the fact that the number of such subsequences can be extremely large, Marton will be satisfied with the value of that number modulo 10^9 +
7.
Cero really doesn’t have time at the moment to find out the answers to Marton’s questions, so he is asking you to do it for him.
Marton asked Cero what the length of the longest possible strictly increasing subsequence (not necessarily of consecutive elements) was.
He also wants to know the number of such longest strictly increasing subsequences. More precisely, if the length of the longest increasing subsequence is M, he wants to know the sum of numbers of strictly increasing subsequences of length M for each possible sequence that Cero can construct. The sequences are different if they are constructed using a different order of moves, and the subsequences in a constructed sequence are different if they differ in at least one position.
Given the fact that the number of such subsequences can be extremely large, Marton will be satisfied with the value of that number modulo 10^9 +
7.
Cero really doesn’t have time at the moment to find out the answers to Marton’s questions, so he is asking you to do it for him.
输入格式
The first line of input contains the integer N (1 ≤ N ≤ 2 * 10^5 ).
The following line contains N space-separated integers that represent the elements of Cera’s array. Each number in the input will be smaller than or equal to 10^
9.
The following line contains N space-separated integers that represent the elements of Cera’s array. Each number in the input will be smaller than or equal to 10^
9.
输出格式
You must output, in a single line, the length of the longest strictly increasing subsequence and the number of strictly increasing subsequences of that length, modulo 10^9 + 7,
respectively.
respectively.
输入输出样例
输入 #1
2 1 1
输出 #1
1 4
输入 #2
4 2 1 3 4
输出 #2
4 1
In test cases worth 30% of total points, it will hold N ≤ 20.
In test cases worth 50% of total points, it will hold N ≤ 1000.
Clarification of the first example:
The longest strictly increasing subsequence that can be obtained is of length 1 and there are 4 of them.
The first possible construction: writes down the first 1, the second 1 to the right: the obtained sequence
is 1,1; there are two strictly increasing subsequences of length 1: 1 1 and 1 1.
The second possible construction: writes down the first 1, the second 1 to the left: the obtained
sequence is 1, 1; there are two strictly increasing subsequences of length 1: 1 1 i 1 1.
Clarification of the second example:
The longest strictly increasing subsequence that can be obtained is of length 4.
It can be obtained only if he constructs the sequence 1 2 3 4. In that construction, it is the only strictly
increasing subsequence of length 4, so the number of such is 1.
In test cases worth 50% of total points, it will hold N ≤ 1000.
Clarification of the first example:
The longest strictly increasing subsequence that can be obtained is of length 1 and there are 4 of them.
The first possible construction: writes down the first 1, the second 1 to the right: the obtained sequence
is 1,1; there are two strictly increasing subsequences of length 1: 1 1 and 1 1.
The second possible construction: writes down the first 1, the second 1 to the left: the obtained
sequence is 1, 1; there are two strictly increasing subsequences of length 1: 1 1 i 1 1.
Clarification of the second example:
The longest strictly increasing subsequence that can be obtained is of length 4.
It can be obtained only if he constructs the sequence 1 2 3 4. In that construction, it is the only strictly
increasing subsequence of length 4, so the number of such is 1.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted