10 2022 档案
摘要:$\text{Solution}$ 一道有思维的$hash$题,考虑先确定了$r0$的长度,那么$r1$的长度也就确定了,这样我们可以用$O(|T|)$来确定每个$0$和$1$对应的字符串,可以用字符串$hash$来$O(1)$判断。乍一看这样时间复杂度是$O(|S||T|)$,但$r0$和$r1$
阅读全文
摘要:set auto it = tree.insert().first//返回迭代器位置 int flag = tree.insert().second//返回插入是否成功 $erase(x)$删除值为$x$的所有元素,返回删除元素的个数。 $erase(pos)$删除迭代器为$pos$的元素,要求迭代
阅读全文
摘要:$\text{Solution}$ 一道经典的笛卡尔树上的$DP$,对于行的影响,我们建出笛卡尔树,那么一个点所代表的,就是整块的,不用考虑中间是否断开。这样我们就很好$DP$,设$f_{u,i}$表示当前节点为$u$,有$i$列已经被覆盖了,那么显然是一个树形背包,最后乘以自己对答案的贡献即可。
阅读全文
摘要:$\text{Solution}$ 一道有思维的建图题,不妨考虑暴力怎么做,只需枚举形如$x - y - z$这样的三个点,把边权赋为最大值即可,但这样边数会很多。 考虑优化,看成有向边,化边为点,对于一个点,把它所连的所有边按权值排序,顺次连接,正向为差值,反向为$0$,这样就实现了取$max$的
阅读全文
摘要:$\text{Solution}$ 手玩一下,发现如果差分$k$次后序列全为零,那么一定存在操作方案使得答案为$k$。 那么现在问题就转化成了求最小的$k$,使得差分$k$次后,序列全为$0$。 现在考虑去差分$P^k$的序列是怎样的,显然新序列$G$中$G_i = S_i + S_{i + P ^
阅读全文
摘要:$\text{Solution}$ 一道有难度的博弈论,对于一个点最多走$1000$次其实是没有意义的,可以看成只走$1$次。考虑去二分答案$mid$,那么对于原图就会变成很多个黑白点,那么每一次操作就必须要从一个颜色的点跳到另一颜色的点,不然对手就会直接结束游戏,这不是经典的二分图博弈吗?用一下结
阅读全文