T1

1

先考虑只有n的时候怎么求。。。。。。。。。。。。

First【x】表示x处的数,在他之前最先出现的是哪里。

Dp[i]表示到i的时候,他的所有子区间的和;

没有出现过。。

Dp1是i前面包括i的子区间的和

Dp[x]=dp[x-1]+dp1[x];

第一次出现的位置为r

Dp[x]=dp[x-1]+dp1[x];

考虑长度小于等于n的序列。

Point 30

当k==2

用同样的方式求一个dp[2*n];

找规律

等差数列

一共有k-2项 公差是d

D=i-first[i];

推到3.。。。。。。。。。。。。。。。只求出dp1首项

2*n之后i%n相同的是等差,并且公差一样.

%n==1***是dp1【z*n+1】最后一项是((k-2-1)*d+x+x)*(k-2)/2;

全部评论

相关推荐

jay118_:实在担心的话,就把你账号里面的认证人脸改成你室友的脸,让他每天帮你刷。要是人脸写死了就每天打视频电话刷脸。办法总比困难多。
点赞 评论 收藏
分享
活泼的代码渣渣在泡池...:哈哈哈挺好的,我也上岸美团了,不说了,我又接了一单
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务