线性dp
文章平均质量分 63
花王江不语
这个作者很懒,什么都没留下…
展开
-
[NOIP2009 普及组] 道路游戏
这个题有点过于生艹了,好不容易想出前缀和来,前缀和里还有大坑题链sum[a][b]=sum[a][b-1]+jb[(a+b-1)%n][b];sum[a][b]表示一个机器人以 工厂a 为起点,从第一秒走到第 b 秒拾到的金币,但是 sum[k][i]-sum[k][j]表示的却不是以k为起点,sum[k][i]-sum[k][j]表示的是以k+j 为起点的 从第 j+1 秒到第 i 秒捡到的所有金币,因为当第一秒的起点固定时,随着时间的推移,时间也变了,位置也变了简直是自找麻烦#incl原创 2021-12-11 19:02:36 · 2369 阅读 · 0 评论 -
洛谷P4933 大师
在还没有编译的时候,我是没有想到能过的,所以说,要有自信。题链dp [a][b] 表示以下标为a的那个数为结尾,以b为公差,的等差数列的个数,且等差数列的长度大于等于2int d=h[i]-h[j];dp[i][d]=(dp[i][d]+dp[j][d]+1)%mod;由于数列中的数的大小范围太大,公差也就太大,所以不遍历公差,而是遍历下标,且下标确定了,公差也就确定了一、如何确定dp这里也符合了 当dp表示的情况仍然还有多种情况时,就增加维度。dp[a]表示以a结尾的等差数列的个数,发原创 2021-12-10 20:02:15 · 330 阅读 · 0 评论