攀山小队1117模拟赛
“凡所执念,无畏山海。”
赛时:
8:30~8:50
发题了,总体看一遍 \(A\) 题偏数学,\(B\) 题好像是原。\(C,D\) 题似乎是 dp。
开切第一道,想到了每 \(m-1\) 个数组分一组,速速写完后,当时没有对拍的想法就下一道了。
8:50~9:20
仔细读了一遍题目,发现真的是原,狂喜。
只需要把每个数减去 \(k\),求一遍前缀和,再求前缀和的顺序对就可以了。
9:20~10:30
一眼 \(dp\) 题,先无脑设了个三维,发现好像判断不了到底有没有跟前面的连接,于是无脑四维。
\(dp[i][j][k][1]\) 表示前 \(i\) 位,满足了 \(j\) 个位置,取了 \(k\) 个子串,第 \(i\) 位要取。
\(dp[i][j][k][0]\) 表示前 \(i\) 位,满足了 \(j\) 个位置,取了 \(k\) 个子串,第 \(i\) 位不取。
写完后,看了一眼数据范围,发现需要滚动,滚了一会没滚出来,\(90\) 分也很香。
10:30~12:00
第四题只会第二问,乱搞了一会,第一问不会做,突然想去对拍 \(A,B\) 题,\(A\) 题幸运又不幸得对拍了一千组没随机到 hack 数据。痛失 45 分。\(B\) 题对拍还算成功。
赛后
预估分数: \(100+100+90+0=290\)
实际分数: \(55+100+90+0=245\)
反思
- 注意特殊数据
- 学会滚动