写在前面
- 我又又又又一次爆零了
- 隔壁大佬赛场A两道题
赛场上的考虑 + 正解 + 自己和正解的差距
T1
拿到第一眼:区间
l
,
r
l, r
l,r 的价值, 然后还有求最优解,n的范围还是300。。。
脑子里正在想贪心的我直接想到了区间dp。。。
之后一直在调区间dp,并且一直造小样例卡掉自己。。。
然后每造一组每次卡掉一次。。。
其中我还怀疑是不是贪心。。。
考完就没了。。。
我考试的时候的状态转移方程:
f
[
i
]
[
j
]
=
m
a
x
(
f
[
i
]
[
j
]
,
f
[
i
−
1
]
[
i
]
+
f
[
i
]
[
j
−
1
]
+
d
[
i
]
[
j
]
)
f[i][j] = max(f[i][j], f[i-1][i] + f[i][j-1] + d[i][j])
f[i][j]=max(f[i][j],f[i−1][i]+f[i][j−1]+d[i][j])
以及
f
[
i
]
[
j
]
=
f
[
i
]
[
k
−
1
]
+
f
[
k
+
1
]
[
j
]
+
d
[
i
]
[
j
]
f[i][j] = f[i][k-1] + f[k+1][j] +d[i][j]
f[i][j]=f[i][k−1]+f[k+1][j]+d[i][j]
我当时以为当前的
f
[
i
]
[
j
]
f[i][j]
f[i][j] 是由
f
[
i
]
[
j
−
1
]
f[i][j-1]
f[i][j−1]和
f
[
i
−
1
]
[
i
]
f[i-1][i]
f[i−1][i]推出来的,但是这是错的,因为
f
[
i
]
[
i
−
1
]
f[i][i-1]
f[i][i−1]的长度是固定的,其表示含义都与所推的式子都不同,当时以为
f
[
i
]
[
j
]
f[i][j]
f[i][j] 不仅是本身的区间dp所推出来的,并且是其之前的状态和
f
[
i
]
[
j
]
f[i][j]
f[i][j]拼接而成的最大值,但是这由于长度的限制,直接就是错的。。。(我当时就还推了半天)
正解 :
考虑区间dp, 可想出用二维数组
f
[
i
]
[
j
]
f[i][j]
f[i][j] 表示在
[
i
,
j
]
[i, j]
[i,j] 的最优值
∑
w
\sum w
∑w
并且用一个三维数组(考场上我想的是2维)
p
[
k
]
[
i
]
[
j
]
p[k][i][j]
p[k][i][j]表示当k这个点还没有计算最优值是并且满足
i
≤
l
≤
k
≤
r
≤
j
i \leq l \leq k \leq r \leq j
i≤l≤k≤r≤j的最优值
w
w
w
那么可有转移方程如下 :
f
[
i
]
[
j
]
=
m
a
x
(
f
[
i
]
[
j
]
,
f
[
i
]
[
k
−
1
]
+
f
[
k
+
1
]
[
j
]
+
p
[
k
]
[
i
]
[
j
]
f[i][j] = max(f[i][j] , f[i][k - 1] + f[k + 1][j] + p[k][i][j]
f[i][j]=max(f[i][j],f[i][k−1]+f[k+1][j]+p[k][i][j]
其中
p
[
k
]
[
i
]
[
j
]
p[k][i][j]
p[k][i][j] 的需要往外更新
考试的时候写的是二维的 d [ i ] [ j ] d[i][j] d[i][j] 但这样就不能去具体到那个点进行合并,所以错了(人傻了)
T2
没怎么看,写了个大法师,去枚举每个点开关的情况,以及与其相连的点的开关,但是由于不知道怎么让它去变成全亮的情况,然后炸了。。。
T3
也留下了遗憾,考场上想着如果在 [ I , J ] [I,J] [I,J]处放下一个喷射器,其左下(或是右上)的可以放喷射器,也可以不放(2的某次幂),所以想到了做二维前缀和去记录一个点左下右上可以个多少个喷射器,去枚举每个点放喷射器然后去计算方案数,但是我在考场上想的是同时放两个喷射器然后去判断,但是其中可能有重合的方案,所以二维前缀和自然被推翻
正解也是枚举喷射器放在哪里,但是是枚举每种情况两个喷射器的分界线然后进行记录方案,(这点没有想到)
总结
- 老师说要有AC梦想,但是是在码完暴力之后才可以追逐的,然而考场上我并没有去想到这句话,最后在追逐梦想的道路上被正解磕s了。。。以后虽然要求争取正解或超高档分数,也要去那好暴力分,并不能去破釜沉舟的磕正解,应该给自己留一条后路
- 还是合理运用时间,每次时间分配不合理,然后就无了:优先干掉暴力!
- 复习状压和三进制状压!没这玩意小档的不好用大法师的暴力一定要试着状压,但是状压由于时间原因快忘了,所以要回去复习状压了。。。