子序列的个数
来源:互联网 发布:cms会员系统 编辑:程序博客网 时间:2024/05/16 09:52
int run(const int *a,int n)
{
int i;
long k[111];//k[i]保存所有子序列中,最后一项为i的子序列的个数。
long lasttotol=0,totol=0;
for(i=0;i<=110;i++) k[i]=0;
//当n=j时求的子序列的个数,按子序列最后一项的值把个数分到k[0]~k[110]中;
//把n=j时的每个子序列后面加上a[j+1]构成新子序列,再加上单独一个a[j+1]构成的子序列,就得到了n=j+1时的所有以a[j+1]结尾的子序列.
//所以n=j+1时,k[a[j+1]]=(n=j时的总子序列个数)+1,
//其它k[]不变.
for(i=0;i<n;i++)//题目测试用例的a下标是从0开始的,不是按照题目介绍的1开始的.
{
lasttotol=totol;
totol=(lasttotol+lasttotol+1) % 1000000007;
totol=(1000000007+totol-k[a[i]]) % 1000000007;
//totol=2*totol+1-k[a[i]];
k[a[i]]=lasttotol+1;
}
return totol;
}
- 子序列的个数
- 子序列的个数
- 子序列的个数
- 子序列的个数
- 子序列的个数
- 子序列的个数 --- 庞果网
- 数组子序列的个数
- 公共子序列的个数
- 动态规划--子序列的个数
- NYOJ 787 子序列的个数
- 最长上升子序列的个数
- Distinct Subsequences 不同的子序列个数
- (dp)子序列的个数
- 获得递增子序列的个数
- 子序列个数
- 子序列个数
- 子序列个数
- 子序列个数
- java正则表达式搜集
- dumpsys 用法
- C#之基础知识01
- 面向有连接和无连接
- MFC最简易7音符的电子琴
- 子序列的个数
- LeetCode - Gray Code
- MFC对多线程编程的支持
- Intel应对ARM的进攻
- 用于实现/用于声明的关键字分类
- 链表排序 归并的链表排序
- 网络编程之 Socket函数 (二)
- 详解Activity的四种加载模式
- Virtual Serial Port on Ubuntu