公司网站建设怎么入账,jsp个人网站设计,我做推广找不到我的网站,wordpress调用文章缩略图链接#xff1a; 时间限制#xff1a;C/C 1秒#xff0c;其他语言2秒 空间限制#xff1a;C/C 262144K#xff0c;其他语言524288K 64bit IO Format:%lld 题目描述 小美有一个由n个元素组成的序列{a1,a2,a3,…,an}#xff0c;她想知道其中有多少个子序列{ap1,ap2,…,apm}…链接 时间限制C/C 1秒其他语言2秒 空间限制C/C 262144K其他语言524288K 64bit IO Format:%lld 题目描述 小美有一个由n个元素组成的序列{a1,a2,a3,…,an}她想知道其中有多少个子序列{ap1,ap2,…,apm}(1 ≤ m ≤ n, 1 ≤ p1 p2 ,…, pm ≤ n)满足对于所有的i,j(1 ≤ i j ≤ m), apipj apjpi成立。 输入描述: 第一行一个整数n (1≤n≤100)表示序列长度。 接下来一行n个整数{a1,a2,a3,…,an}(1≤ai≤100)表示序列。 输出描述: 输出一行表示满足条件的子序列的数目。因为答案可能很大请输出答案mod 1,000,000,007。 示例1 输入
2
1 2输出
3说明 满足条件的子序列为{1}, {2}, {1 2}。 题解
本质是求lnai/i递增的子序列种类 我们用f[i]表示以i结尾种类的数量 f[i]∑f[j] 最后答案为∑f[i] 代码
#includebits/stdc.h
using namespace std;
const int mod 1e9 7;
int a[103];
int n,sum;
int f[102];
int main()
{cinn;for(int i1;in;i){cina[i];f[i]1;}for(int i2;in;i)for(int j1;ji-1;j)if(log(a[j])*i log(a[i])*j){f[i] (f[i] f[j])%mod;
// coutf[i]endl; } for(int i1;in;i) sum (sum f[i])%mod;coutsumendl;
}