【tyvj1091】等差序列(dp)
来源:互联网 发布:javascript阶乘算法 编辑:程序博客网 时间:2024/06/16 23:52
题目:我是超链接
题解:
如果你要枚举公差的话,Emmm...应该是要n^3,但我们可以选择枚举末尾的两个数字,f[i][j]表示以a[i]为结尾,j为公差的个数
设计f[i][a[i]-a[j]]=Σ(f[j][a[i]-a[j]]+1),这样可以保证公差产生的数字在序列里存在,细节要注意,为了防止重复叠加,先不把自己和自己的数字算上
这提示我们设计状态的时候需要注意转移过程中的共同点
代码:
#include <cstdio>#include <iostream>using namespace std;const int Mod=9901;int f[1005][3005],a[1005];int main(){int ans=0,n,i,j;scanf("%d",&n);for (i=1;i<=n;i++) scanf("%d",&a[i]);for (i=1;i<=n;i++) for (j=1;j<i;j++) f[i][a[i]-a[j]+1000]=(f[i][a[i]-a[j]+1000]+f[j][a[i]-a[j]+1000]+1)%Mod;for (i=1;i<=n;i++) for (j=0;j<=3000;j++) ans=(ans+f[i][j])%Mod; printf("%d",ans+n);}
阅读全文
0 0
- 【tyvj1091】等差序列(dp)
- Tyvj1091
- 最长等差子序列
- codevs1283等差子序列
- bzoj2124 等差子序列
- BZOJ2124 等差子序列
- BZOJ2124: 等差子序列
- 2124: 等差子序列
- bzoj2124 等差子序列(hash+线段树)
- bzoj 2124: 等差子序列 (线段树+hash)
- BZOJ 2124 等差子序列 (树状数组 hash)
- bzoj2124 等差子序列 (树状数组 维护hash值)
- 使用Excel2010生成等差序列
- BZOJ 2124 等差子序列
- BZOJ 2124: 等差子序列
- bzoj2124 等差子序列【暴力】
- [BZOJ 2124] 等差子序列 Hash+树状数组(附粗略证明)
- 求最长单调递增【等差】子序列
- 从数据库中获取第一条数据
- 8
- qt中设置鼠标穿透
- equals 与 ==
- 9
- 【tyvj1091】等差序列(dp)
- No enclosing instance of type test is accessible. Must qualify the allocation with an enclosing inst
- API网关使用教程
- 08:石头剪刀布
- 3.申请sonatype账号并上传项目到中央仓库
- 一个经典例子让你彻彻底底理解java回调机制
- Android_补间动画
- 去除有道7.3底部广告栏
- maven安装,与eclipse搭建步骤