日记

日记

Tue Jun 03 2025
3 分钟

窝补药军训啊啊啊啊啊啊啊啊啊啊啊

T1 Link to T1

一眼。

考虑每个形如 ABB...BBC\texttt{ABB...BBC} 或者 CBB...BBA\texttt{CBB...BBA} 的特殊子串对答案造成的贡献。显然这两种子串对于包含它的子串都会造成 11 的贡献,于是我们就算有多少个子串包含他们就是了。设这个特殊子串的两个端点分别是 l,rl,r,那么显然有 l×(nr+1)l \times (n - r + 1) 个子串包含这个特殊子串,于是把答案加上 l×(nr+1)l \times (n - r + 1)

T2 Link to T2

毕特塞特神力!!!!如题面所说,O(n3ω×logn24)O(\frac{n^3}{\omega} \times \log \frac{n^2}{4}) 是可以过的。

首先,我们有简单的 O(n3)O(n^3) 区间 dp。设 dpl,rdp_{l,r} 表示区间 [l,r][l,r] 删完的最小代价,转移是平凡的。

然后我们看到 最大值最小,直接想到二分答案。我们二分出来一个 midmid 之后,就变成了一个可行性 dp。dpl,rdp_{l,r} 表示 [l,r][l,r] 是否可以在小于 midmid 的代价删完。转移和上面的差不多。区别在于:如果 dpl,rdp_{l,r} 可行,那么如果 dpr,kdp_{r,k} 可行的话,dpl,kdp_{l,k} 也可行。这里就可以用 bitset 维护,表现为 dp[l] |= dp[r]

注意枚举的顺序是 ll 从大到小,rr 从小到大。

T3 & T4 Link to T3 & T4

没改,军训回来改。

upd: 军训回来也没改

Endless Knight Link to

dpidp_{i} 表示从 (1,1)(1,1) 走到 (xi,yi)(x_i,y_i) 不经过别的障碍点的方案书。转移就是这样:dpi=calc(xi1,yi1)j=1j1dpj×calc(xixj,yiyj)dp_{i} = \operatorname{calc}(x_i - 1,y_i - 1) - \sum_{j = 1}^{j - 1}dp_j \times \operatorname{calc}(x_i - x_j,y_i - y_j)。分别表示所有方案,枚举第一个遇到的障碍点以算出不符合的方案。calc(h,w)\operatorname{calc}(h,w) 表示马走日在 xx 轴走 hh 格,yy 轴走 ww 格的方案数。

后日谈 Link to 后日谈

话说这个军训要训 1010 天嘞,浪费我 1010 天的时间啊,少考好多场模拟赛的喔。