闲话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🤗🤗🤗。

现在一天真是闲啊。

有人会证或者证伪这个吗:

\[\sum_{i=1} \frac{1}{(i+2)\sqrt{i+2}}\le \sqrt 2 \]


推歌:ビーストメトロポリス -上海アリス幻樂団

五面神曲。


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)\)


posted @ 2023-12-08 21:12  crimson000  阅读(73)  评论(3编辑  收藏  举报