闲话12.8
颓。
上午把物理样卷 2 做了,AK 了。然后看了一个小时生物就润去考生物了,没啥感觉,不会的也不多,勉强能上 90pts?
发现 lyt 的准考证上写的班级是 B20😍😍😍
明天就可以润啦!润到 BJ 天天也不用跑那傻逼操也他妈不用受任意一科老师管控也不会被 jimmy 一天看两个小时 jk 了!!!
妈的 jimmy 怎么他妈天天看 jk,学长说一天能看俩小时,太他妈抽象了😨😨😨。
下午晚上学 OI。把做的 ds 题稍微写了写题解,放我博客里了(
话说 HZOI 的朋友们是不是看不了我的博客来着(,我上面挂的链接是 netlify 的,如果能上 github 可以试试这个,不过图片加载出来应该是正常的(,我博客上的图用的还是 gitcode。
昨晚 jimmy 来抓人,太抽象了。
晚上闲的没事想学化竞的,突然想起来自己想写写边分治。打开洛谷点分治题解区没一道边分治😓😓😓。
lyt 还在生物考试的时候出了一道数列题😍😍😍。
lyt:卧槽感觉这道题能投给学校
lyt:感觉这道题能做20或21题的样子
lyt:可能做20有点偏难
lyt:那就21吧
拜谢 l6t🤗🤗🤗。
现在一天真是闲啊。
有人会证或者证伪这个吗:
推歌:ビーストメトロポリス -上海アリス幻樂団
五面神曲。
P4590
考虑 dp,首先不出现 \(\texttt{NOI}\) 的限制是好处理的,直接在状态中加入一个和 \(\texttt{NOI}\) 匹配长度的维度即可。
一个朴素的想法是设 \(f_{i, j, l}\) 为填了前 \(i\) 个位置,与 \(s\) 的最长公共子序列为 \(j\),与 \(\texttt{NOI}\) 匹配长度为 \(l\) 的字符串数量,但是可以发现最长公共子序列的转移其实是错误的,我们这里实际是在贪心的匹配,而不是在使用 dp 求最长公共子序列,因此是错误的。
为了正确的求出最长公共子序列,可以考虑直接把一整个 dp 数组放到状态里来转移。设 \(g_{i, j}\) 为 \(t\) 的前 \(i\) 个字符和 \(s\) 的前 \(j\) 个字符的最长公共子序列,可以发现第二维只有 \(15\) 个数,但是仍然放不进状态里。不过由于 \(g_i\) 的差分数组都不超过 \(1\),因此可以状压差分。
最终设状态为 \(f_{i,G_i,l}\) 表示前 \(i\) 个位置填了,当前和 \(s\) 的最长公共子序列的 dp 数组为 \(G_i\),与 \(\texttt{NOI}\) 的匹配长度为 \(l\) 的方案,转移分讨即可。
时间复杂度 \(O(nk2^k)\)。