摘要: "BZOJ 2588" Count on a tree 题面 求树上两点之间路径上第k大的点权。 题解 一开始看到这道题觉得是树剖,然后又听说是主席树,然后以为是主席树+树剖,差点没吓死…… 然后发现,如果每个点都挂一棵主席树,每棵都通过修改父亲的主席树得到,这样当询问路径(u, v)时,u的主席树 阅读全文
posted @ 2017-12-08 18:52 胡小兔 阅读(239) 评论(0) 推荐(0) 编辑
摘要: "BZOJ 3524" Couriers 题意 求一个区间内出现超过区间长度的一半的数,如果没有则输出0。 题解 我可能太菜了吧……这道题愣是没想出来…… 维护权值主席树,记录每个数都出现过多少次; 查询的时候,这个数要么在较小的那一部分,要么在较大的那一部分;如果两部分的数的总数都不大于一开始那个 阅读全文
posted @ 2017-12-08 16:32 胡小兔 阅读(248) 评论(0) 推荐(0) 编辑
摘要: "BZOJ 1014" 火星人 题意 有一个字符串,三中操作:在某位置后面插入一个字符、修改某位置的字符、询问两个后缀的最长公共前缀。 题解 看到网上的dalao们都说这道题是平衡树,我就很懵x……平衡树维护什么啊? 最后发现某个节点维护的是它所代表的区间的哈希值——显然这个哈希值可以从左右子树的哈 阅读全文
posted @ 2017-12-08 13:24 胡小兔 阅读(379) 评论(0) 推荐(0) 编辑