摘要:
题目链接 这题的状态转移方程其实相对而言没有那么难,但判0环过程真的挺繁琐。 这个题可以从数据范围的k <= 50 入手,由于我们最多走50及以下的无用路,所以可以考虑去利用不多的k来进行一些操作,这便可以大大减少枚举状态时要使用的复杂度。 我们可以想到把k作为一维状态进行dp。状态设置也比较清晰, 阅读全文
摘要:
题目链接 很明显的要用树上差分或者树链剖分,但是要求 将某一条边的权值归0后的最大路径最短是多少 ,就发人深思了。 对于维护树上一条路径的大小,可以先用前缀和维护出从根到两个节点的路径大小和,再减去两点LCA的前缀和就可以了。我们可以先用倍增/树剖甚至是ST表求出LCA并预处理出每一条路径长,然后思 阅读全文
摘要:
人太蠢了还是不行,看个基数排序看出了脑震荡。 一些规定: x位后缀:一个字符串去掉前x个字符串得出的字符串 后缀排序 后缀数组其实就是把一个字符串的所有后缀排序之后整出来的东西,例如 aabbcca 排序后 aabbcca abbcca a bbcca bcca ca cca 用于实现后缀排序的主要 阅读全文
摘要:
“可持久化”几个字限制我的想象力,导致我长久没有去接触这种强大的数据结构,主席树的思想如下: 在线段树中,不难发现,每次修改与查询的时间复杂度都是o(logn)的,这是因为每次操作所要调用与修改的节点也是logn个。 在一些题目中,题目要求我们查询线段树(尤其是值域线段树)的历史版本,这就可以用到主 阅读全文
摘要:
讲网络流的时候没有听懂最大权闭合子图,然后讲题的时候学长问我们这是什么模型。 我就瞎口胡了最大权闭合子图,然后就中了。 总之,依题可知,要吃一个植物,必须吃它右侧的植物,并且吃掉保护它的植物(全都是玉米加农炮嗷)。所以在两个点之间连一条有向边,连完之后发现要获取一个点的分数必须获取所有它连接的点的分 阅读全文