摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=4757 题意: 给出一棵树,每个结点有一个权值,现在有多个询问,每次询问包含x,y,z三个数,求出在x到y的路径上与z最大的异或值。 思路: 看着别人的代码做完这道题目之后觉得这题和主席树求第k小是异曲同工的,主席 阅读全文
摘要:
https://vjudge.net/problem/UVA-11488 题意: 给定一个字符串集合S,定义P(s)为所有字符串的公共前缀长度与S中字符串个数的乘积。比如P( {000, 001, 0011} ) = 6。给n个01串,从中选择一个集合S,使得P(S)最大。 思路: 建立字典树,边插 阅读全文
摘要:
http://codeforces.com/contest/706/problem/D 题意:有多种操作,操作1为在字典中加入x这个数,操作2为从字典中删除x这个数,操作3为从字典中找出一个数使得与给定的数的异或值最大。 思路: 因为这道题目涉及到删除操作,所以用一个变量cnt来记录前缀的数量,加入 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=4825 题意: 给出一些数,然后给出多个询问,每个询问要从之前给出的数中选择异或起来后值最大的数。 思路:将给出的数建立01字典树,从高位开始建树。对于每个询问,如果当前位置值为0,那么在字典树中,如果有1的值,那 阅读全文