摘要:
HDU - 5405 答案相当于权值之和的平方减去把两点路径上的点扣掉以后所有子树的平方和。 然后用线段树维护每个点的轻儿子的权值平方和。 维护起来相当恶心, 我写了一晚上才调出来。。 阅读全文
摘要:
现在才回树链剖分好像很丢脸的样子哦。。 但是这个确实感觉是个很基础的东西呀。 阅读全文
摘要:
HDU - 5401 明显发现这个东西可以递归处理, 然后把式子列出来, 记忆化搜就可以了。 阅读全文
摘要:
Max Mex 感觉好脑洞的一道题啊。 用0 - n - 1的值建线段树, 每个区间维护 l - r 能否在一条路径上, 保存两个端点。 感觉我的第一思路是二分答案, 然后判断那些点是否在一条路径上, 没想到这两条路径也能合并, 这样就能用线段树维护了。 合并两条路径枚举合并之后的两端点, 暴力判。 阅读全文
摘要:
The Fair Nut and Rectangles 很裸的斜率优化呀。 维护直线 维护凸包 阅读全文
摘要:
HDU 5413 居然不知道acyclic是没有环的意思GG。 如果是拓扑图的话, 用bitset暴力更新就完事了。 阅读全文
摘要:
HDU 5409 显然要先双连通缩成一棵树。 然后对于树上的边才有答案。 对于一条边来说, 两侧的最大值分为mx1 , mx2 , 那么 u 一定是min(mx1, mx2), v 一定是 u + 1。 这个经过仔细分析一下就能得到, 然后按dfs序建个st表就好啦。 阅读全文
摘要:
HDU - 5406 排序之后就变成了求两个不相交的最长LIS, 用树状数组把n ^ 3 的dp 优化成 n ^ 2 * log(n) 就ok 了。 阅读全文
摘要:
HDU - 5411 考虑直接dp会T, 用矩阵优化一下就好了。 阅读全文
摘要:
Meeting He 感觉对这种题好无力啊, 以后这种感觉没有办法一次性dp完成的可以考虑用类似于bellman的方法来求最优值。 阅读全文