「Log」2023.11.13 小记

发布时间 2023-11-13 22:08:57作者: Eon_Sky

NOIP Day -4

序幕

\(6:50\):准时到校,整理博客,先改题。

一直在 T,写个拍瞅一眼,发现判断边界的时候有问题,逻辑一塌糊涂,不知道当时咋写的。

八点半的时候终于过掉了第二分块。

\(\color{black}{P4117}\)

第二分块

间幕 \(1\)

吃了个早饭就九点半了,准备开新题。

看了会题给我看困了,可能也是因为刚吃完饭,直接昏迷。

十点半苏醒,可能也是冷困的,什么时候我能冬眠啊。

在十一点出头明白了这题咋做,取了个饭小溜达一圈,回来先吃个饭。

午休完差不多一点了,开始打题。

感觉整个题体量还是很大的,实现方式稍微思考了一会,幸好这题给了 1G,不用考虑空间。

打到三点多开始调,发现细节有点问题,改动后一只小调整改到 WA On Test 10,发现询问数组开小了,开二倍就过了。

洛谷 RMJ 又炸了。

\(\color{black}{CF1535F}\)

首先 \(f(x, y)\) 是个诈骗函数,值只可能为 \(0, 1, 2, 1337\) 其中的一种,\(0, 2, 1337\) 都好求,只需要考虑 \(1\) 的贡献。

首先考虑将字符串按照构成分组,一组一组解决,组与组之间都是 \(1337\)

对于一组,考虑一个串 \(s\),对于其一段极长有序段 \(l, r\),与它 LCP 大于等于 \(l - 1\),LCS 小于等于 \(r - 1\) 的串都可以构成函数值为 \(1\) 的贡献。

想到正反建 Trie 数,于是相当于求出符合 \(l1 \le dfn1_i \le r1 \land l2 \le dfn2_i \le r2\)\(i\) 个数,将第一维限制拆成前缀然后直接二位数点即可。

间幕 \(2\)

吃个晚饭,休息一会准备接着写题,今天干脆把需要补的黑题补完好了。

\(\color{black}{CF1528E}\)

将问题转化一下,树的形态被简单限制,钦定一个点只有两个子节点进行树个数 DP,巨大分论即可。

\(\color{blueviolet}{CF1487G}\)

诈骗题,最多两个数字超出范围,打进两维状态,设一个胖 DP,稍微优化一下即可。

尾声

好累,回家什么也不想干,补补博客,准备睡觉。