日记
有考试是有日记的充分必要条件。
泉逗部诗人模拟赛看的懂的题解
前奏:昨天在家吃了一颗坏掉的腰果,于是一早上就去厕所蹲了半个小时。
霸特,晚上写日记的时候还有点感觉。这腰果后劲怎么大的吗?
昨天晚上睡觉的时候疑似没盖好被子,脚在那里冻了一晚上,导致早上起床的时候有点感冒,晚上回家吃点药去。
赛时打的 O(nlogn) 的线段树做法,但是码力实在是过于充沛导致 4h 的比赛调了 3h,还只拿了 70 pts 。
看了,因为只有 1h 的剩余时间所以没有认真想。其实思路挺简单的。
最重要的是:这道题是 2024-12-10 模拟赛的 T1。但是,翻之前的日记发现:这道题在之前都打了 30 pts,但是今天因为没有时间了。
正如祝老所说:要胆大心细。
但是我好像又胆小又粗心
一看:设 dpi,j 表示取到 i 行,这一行取第 j 个元素的方案数,但是,一看:最终的矩阵相同,我们认为这是一种情况。
我立即发生爆炸。
想了半天,没想到如何应对这个私人条件。
说句闲话:我其实一眼就看出来了 T1 做法,但是您猜怎么着?Ans=∑(i×ansimod(109+7))。他把取模放求和里面??!这就是我说这是个 泉逗部诗人模拟赛 的原因。
启发式合并,写不了一点。
久违的在床上睡了一次午觉。究其原因是早上似乎是因为生物钟没调过来导致周天早上起不来,而且比往天都困的多。于是我老妈就让我中午睡个午觉。
但是睡午觉确实挺舒服的。
简单题,不讲。
这个要和 1210 C组题解一起看。
如题解所说,这道题就不讲了
讲还是要讲的,设 dpi,0/1 表示前 i 个数合法划分的方案数,其中第二维表示 i 所在的那个串能不能被整除。我们看数据范围的时候顺便看一眼部分分,发现它给了 30 pts 的 gcd(D,10)=1 的部分分,这么多的分,多半是在引导我们往这里想。但是我太蠢了想不出来。在 gcd(D,10)=1 时,我们记录哈希数组 hshi=(hshi+1×10+ai)modD,那么 [i,j] 这一段要是能被 D 整除,那么肯定有 hshi=hshj+1,我们便可以写出 30 的性质分。对于现在的我来说挺高的了。
剩下的也一样,如果 gcd(D,10)=1 那么我们就把 D 分成 D1×D2,其中 gcd(D1,10)=1,D2=2x×5y,因为 2 和 5 判整除只用看最后几位就可以了,于是我们便可以得到 100 分了。
用桶可以把 O(n2) 优化到 O(n)。
dp 方程还是一样的,不一样的是,我们还要记一个数组 gi,j 表示当 mpi,j=mpi,j−1 时的等价的方案的数量,那么很不明显有:
dpi,jgi,j=x=j−k∑j+kdpi−1,x−x=j−k+1∑j+kgi−1,x=x=j−k∑j+k−1dpi−1,x−j−k+1∑x=j+k−1gi−1,x可以用前缀和维护,时间复杂度 O(n)。
启发式合并,写不了一点。
把斜率优化的 I 写了,然后颓了一小会就来写日记了。
颓废的一天就这么结束了呢。本来今天晚上是有 codeforces 的,还是场 div.2,本来可以打的,但是祝老明天要去监考,所以就不能来。可惜了啊。