题意分析
等差数列的定义是一个数列S,它满足了(S[i]-S[i-1]) = d (i>1)。显然的一个单独的数字或者两个数字也可以形成一个等差数列。
经过一定的学习小C发现这个问题太简单了,等差数列的和不就是(Sn+S1)*n/2?因为这个问题实在是太简单了,小C不屑于去解决它。这让小C的老师愤怒了,他就找了另外一个问题来问他。
小C的老师给了他一个长度为N的数字序列,每个位置有一个整数,他需要小C帮他找到这个数字序列里面有多少个等差数列。
一开始思维定势想的转移,dp[i][j][k]表示以i开头j结尾的序列,公差为k的序列个数,然后发现状态转移方程并不好写。
然后进行了一点改进dp[i][j]表示以i结尾公差为j序列的个数。 但是我是用的三层循环
for i:1 to n
for j:i+1 to n
for k:-500 to 500
if(