题目:https://www.nowcoder.com/acm/contest/152/A
思路:化log来做
aji<aij
a
i
j
<
a
j
i
1<log(aij)(aji)
1
<
l
o
g
(
a
i
j
)
(
a
j
i
)
1<ij∗log(ai)log(aj)
1
<
i
j
∗
l
o
g
(
a
i
)
l
o
g
(
a
j
)
代码:
#include<bits/stdc++.h>
using namespace std;
const int MOD = 1e9+7;
int a[105];
long long dp[105];
int main()
{
int n;
cin >> n;
for(int i = 1;i <= n;i++)
cin >> a[i],dp[i] = 1;
for(int i = 1;i <= n;i++)
{
for(int j = 1;j < i;j++)
if(j*log(a[i]*1.0) > i*log(a[j]*1.0))
dp[i] += dp[j];
}
for(int i = 1;i <= n;i++)
dp[0] = (dp[0] + dp[i])%MOD;
cout << dp[0] <<"\n";
return 0;
}