日记

日记

Sun Jan 12 2025
4 分钟
1041 字

有考试是有日记的充分必要条件。

上午#

泉逗部诗人模拟赛看的懂的题解

前奏:昨天在家吃了一颗坏掉的腰果,于是一早上就去厕所蹲了半个小时。
霸特,晚上写日记的时候还有点感觉。这腰果后劲怎么大的吗?

昨天晚上睡觉的时候疑似没盖好被子,脚在那里冻了一晚上,导致早上起床的时候有点感冒,晚上回家吃点药去。

T1#

赛时打的 O(nlogn)\mathcal{O}(n \log n) 的线段树做法,但是码力实在是过于充沛导致 4h 的比赛调了 3h,还只拿了 7070 pts 。

T2#

看了,因为只有 1h 的剩余时间所以没有认真想。其实思路挺简单的。
最重要的是:这道题是 2024-12-10 模拟赛的 T1。但是,翻之前的日记发现:这道题在之前都打了 3030 pts,但是今天因为没有时间了。

正如祝老所说:要胆大心细
但是我好像又胆小又粗心

T3#

一看:设 dpi,jdp_{i,j} 表示取到 ii 行,这一行取第 jj 个元素的方案数,但是,一看:最终的矩阵相同,我们认为这是一种情况。

立即发生爆炸

想了半天,没想到如何应对这个私人条件。

说句闲话:我其实一眼就看出来了 T1 做法,但是您猜怎么着?Ans=(i×ansimod(109+7))Ans = \sum(i \times ans_{i} \mod (10^{9} + 7))。他把取模放求和里面??!这就是我说这是个 泉逗部诗人模拟赛 的原因。

T4#

启发式合并,写不了一点。

中午#

久违的在床上睡了一次午觉。究其原因是早上似乎是因为生物钟没调过来导致周天早上起不来,而且比往天都困的多。于是我老妈就让我中午睡个午觉。

但是睡午觉确实挺舒服的。

下午#

T1#

简单题,不讲。

T2#

这个要和 1210 C组题解一起看。

如题解所说,这道题就不讲了

讲还是要讲的,设 dpi,0/1dp_{i,0/1} 表示前 ii 个数合法划分的方案数,其中第二维表示 ii 所在的那个串能不能被整除。我们看数据范围的时候顺便看一眼部分分,发现它给了 3030 pts 的 gcd(D,10)=1\gcd(D,10) = 1 的部分分,这么多的分,多半是在引导我们往这里想。但是我太蠢了想不出来。在 gcd(D,10)=1\gcd(D,10) = 1 时,我们记录哈希数组 hshi=(hshi+1×10+ai)modDhsh_{i} = (hsh_{i + 1} \times 10 + a_{i}) \mod D,那么 [i,j][i,j] 这一段要是能被 DD 整除,那么肯定有 hshi=hshj+1hsh_{i} = hsh_{j + 1},我们便可以写出 3030 的性质分。对于现在的我来说挺高的了。

剩下的也一样,如果 gcd(D,10)1\gcd(D,10) \not = 1 那么我们就把 DD 分成 D1×D2D_{1} \times D_{2},其中 gcd(D1,10)=1\gcd(D_{1},10) = 1D2=2x×5yD_{2} = 2^{x} \times 5^{y},因为 2255 判整除只用看最后几位就可以了,于是我们便可以得到 100100 分了。

用桶可以把 O(n2)\mathcal{O}(n^{2}) 优化到 O(n)\mathcal{O}(n)

T3#

dp 方程还是一样的,不一样的是,我们还要记一个数组 gi,jg_{i,j} 表示当 mpi,j=mpi,j1mp_{i,j} = mp_{i,j - 1} 时的等价的方案的数量,那么很明显有:

dpi,j=x=jkj+kdpi1,xx=jk+1j+kgi1,xgi,j=x=jkj+k1dpi1,xjk+1x=j+k1gi1,x\begin{aligned} dp_{i,j} & = \sum\limits_{x = j - k}^{j + k}dp_{i - 1,x} - \sum\limits_{x = j - k + 1}^{j + k}g_{i - 1,x} \\ g_{i,j} & = \sum\limits_{x = j - k}^{j + k - 1}dp_{i - 1,x} - \sum\limits_{j - k + 1}^{x = j + k - 1}g_{i - 1,x} \end{aligned}

可以用前缀和维护,时间复杂度 O(n)\mathcal{O}(n)

T4#

启发式合并,写不了一点。

晚上#

把斜率优化的 I 写了,然后颓了一小会就来写日记了。

颓废的一天就这么结束了呢。本来今天晚上是有 codeforces 的,还是场 div.2,本来可以打的,但是祝老明天要去监考,所以就不能来。可惜了啊。