/* 返回顶部 */

01 2019 档案

摘要:qwq 预处理出从$x$节点向上跳2i个节点的序号$p[x][i]$及节点深度$dpth[x]$, 寻找$lca$时,从$Max$(可能的最大深度)到0枚举$i$, 首先把较深的一个节点向上跳至深度相同, 然后两个点同步动作,若$p[x][i]≠p[y][i]$则跳。 最终返回他们的父亲$p[x][ 阅读全文
posted @ 2019-01-21 23:53 Mogeko 阅读(177) 评论(0) 推荐(0)
摘要:((^ 0.0 ^) )~ 堆是一个完全二叉树,对于小根堆,所有父节点<=子节点,下标就和线段树是一样的 在STL里就是优先队列 只有堆顶元素可以操作(询问或弹出)。 加入新元素时x,heap[++size] = x,下标t=size; 每次比较它和父节点(t/2)的大小,如果它较小就swap。 删 阅读全文
posted @ 2019-01-21 08:58 Mogeko 阅读(184) 评论(0) 推荐(0)
摘要:传送门 多重背包板子题, 多重背包就是每种东西有好几个,可以把它拆分成一个一个的01背包 优化:二进制拆分(拆成1+2+4+8+16+...) 比如18=1+2+4+8+3,可以证明18以内的任何数都可以用这几个数的和表示, 所以就把2个,4个....绑定为一个物品,和一个一个的效果是一样的 这样就 阅读全文
posted @ 2019-01-19 15:38 Mogeko 阅读(128) 评论(0) 推荐(0)
摘要:传送门 这道题信息量好大啊 1.Dilworth定理 Dilworth定理:对于一个偏序集,最少链划分等于最长反链长度。 Dilworth定理的对偶定理:对于一个偏序集,其最少反链划分数等于其最长链的长度。 其实就是说,对于一个序列, 最大上升子序列长度 = 不上升子序列个数,最大不上升子序列长度 阅读全文
posted @ 2019-01-19 10:10 Mogeko 阅读(235) 评论(0) 推荐(0)