洛谷P4933 大师

题目背景
建筑大师最近在跟着数学大师 ljt12138 学数学,今天他学了等差数列,ljt12138 决定给他留一道练习题。

题目描述
ljt12138 首先建了 nn 个特斯拉电磁塔,这些电塔排成一排,从左到右依次标号为 11 到 nn ,第 ii 个电塔的高度为 h[i]h[i] 。

建筑大师需要从中选出一些电塔,然后这些电塔就会缩到地下去。这时候,如果留在地上的电塔的高度,从左向右构成了一个等差数列,那么这个选择方案就会被认为是美观的。

建筑大师需要求出,一共有多少种美观的选择方案,答案模 998244353998244353 。

注意,如果地上只留了一个或者两个电塔,那么这种方案也是美观的。地上没有电塔的方案被认为是不美观的。

同时也要注意,等差数列的公差也可以为负数。

输入格式
第一行一个正整数 nn 。

第二行 nn 个非负整数,第 ii 个整数是第 ii 个电塔的高度 h[i]h[i] 。

输出格式
输出一个整数,表示美观的方案数模 998244353998244353 的值。
输入输出样例
输入
8
13 14 6 20 27 34 34 41
输出
50
题解:
这是一道dp题。首先很容易想到可以用dp[i][j]表示以第i个为结尾构成公差为j的等差数列的方案数。
状态转移方程为dp[i][k]+=dp[j][k]+1
k表示公差。因为i,j已知就可以表示出k即k=a[i]-a[j]
因为存在负数且v的最大是20000所以可以整体右移20000
所以就是dp[i][a[i]-a[j]+20000]+=dp[j][a[i]-a[

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值