CF1776N.Count Permutations

NOI/NOI+/CTSC

通过率:0%

时间限制:5.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a string ss with length n−1n-1 whose characters are either \texttt{ \lt } or \texttt{ \gt }.

Count the permutations p1, p2, …, pnp_1, \, p_2, \, \dots, \, p_n of 1, 2, …, n1, \, 2, \, \dots, \, n such that, for all i=1, 2, …, n−1i = 1, \, 2, \, \dots, \, n - 1, if sis_i is \texttt{ \lt } then pi<pi+1p_i \lt p_{i+1} and if sis_i is \texttt{ \gt } then pi>pi+1p_i \gt p_{i+1}.

Since this number can be very large, compute its logarithm in base 22.

给你一个长度为 n−1n-1 的字符串 ss,其每个字符均为 \texttt{ \lt } 或 \texttt{ \gt }。

统计 1, 2, …, n1, \, 2, \, \dots, \, n 的排列 p1, p2, …, pnp_1, \, p_2, \, \dots, \, p_n 的个数,使得对所有 i=1, 2, …, n−1i = 1, \, 2, \, \dots, \, n - 1,若 s_i = \texttt{ \lt },则 pi<pi+1p_i \lt p_{i+1};若 s_i = \texttt{ \gt },则 pi>pi+1p_i \gt p_{i+1}。

由于该数目可能非常大,请计算其以 22 为底的对数。

输入格式

The first line contains a single integer nn (2≤n≤100 0002 \le n \le 100\,000).

The second line contains a string ss of length n−1n-1; each character of ss is either \texttt{ \lt } or \texttt{ \gt }.

第一行包含一个整数 nn(2≤n≤100 0002 \le n \le 100\,000)。

第二行包含一个长度为 n−1n-1 的字符串 ss;ss 中的每个字符均为 \texttt{ \lt } 或 \texttt{ \gt }。

输出格式

Print the logarithm in base 22 of the number of permutations satisfying the constraints described in the statement.

Your answer is considered correct if its absolute or relative error does not exceed 10−610^{-6}. Formally, let your answer be xx and let the correct answer be yy. Your answer is accepted if and only if ∣x−y∣max⁡(1,∣y∣)≤10−6\frac{|x - y|}{\max{(1, |y|)}} \le 10^{-6}.

输出满足题目描述中约束条件的排列数量以 22 为底的对数。

若你的答案的绝对误差或相对误差不超过 10−610^{-6},则视为正确。形式化地说,设你的答案为 xx,正确答案为 yy,当且仅当 ∣x−y∣max⁡(1,∣y∣)≤10−6\frac{|x - y|}{\max{(1, |y|)}} \le 10^{-6} 时,你的答案被接受。

输入输出样例

  • 输入#1

    2
    &lt;

    输出#1

    0.0000000000
  • 输入#2

    3
    &lt;&gt;

    输出#2

    1.0000000000
  • 输入#3

    5
    &gt;&lt;&lt;&lt;

    输出#3

    2.0000000000
  • 输入#4

    10
    &lt;&gt;&lt;&lt;&lt;&lt;&lt;&gt;&gt;

    输出#4

    9.8281364842

说明/提示

In the first sample, there is only one valid permutation, that is [2,1][2, 1]. Since log⁡2(1)=0\log_2(1)=0, the correct output is 00.

In the second sample, there are 22 valid permutations, that are [3,1,2][3, 1, 2] and [2,1,3][2, 1, 3]. Since log⁡2(2)=1\log_2(2)=1, the correct output is 11.

In the third sample, there are 44 valid permutations, that are [1,5,4,3,2][1, 5, 4, 3, 2], [2,5,4,3,1][2, 5, 4, 3, 1], [3,5,4,2,1][3, 5, 4, 2, 1], [4,5,3,2,1][4, 5, 3, 2, 1]. Since log⁡2(4)=2\log_2(4)=2, the correct output is 22.

In the fourth sample, there are 909909 valid permutations. Notice that log⁡2(909)=9.828136484194…\log_2(909)=9.828136484194\ldots

在第一个样例中,仅存在一个有效的排列,即 [2,1][2, 1]。由于 log⁡2(1)=0\log_2(1)=0,正确输出为 00。

在第二个样例中,存在 22 个有效的排列,即 [3,1,2][3, 1, 2] 和 [2,1,3][2, 1, 3]。由于 log⁡2(2)=1\log_2(2)=1,正确输出为 11。

在第三个样例中,存在 44 个有效的排列,即 [1,5,4,3,2][1, 5, 4, 3, 2]、[2,5,4,3,1][2, 5, 4, 3, 1]、[3,5,4,2,1][3, 5, 4, 2, 1]、[4,5,3,2,1][4, 5, 3, 2, 1]。由于 log⁡2(4)=2\log_2(4)=2,正确输出为 22。

在第四个样例中,存在 909909 个有效的排列。注意 log⁡2(909)=9.828136484194…\log_2(909)=9.828136484194\ldots

输入解题思路,AI测评打分。不知道怎么写?

首页