联系衔接:blcakcat
HDU 4825
从最高为开始贪心,如何可以走当前位的异或结果就走异或结果否则就走当前结果
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
HDU 5536
题意:给出n个求,求出(si + sj) ^ sk 的最大值,i,j,k互不相等
思路:先对所有数建一颗01字典树,然后枚举i,j,将si与sj从字典序中删除,贪心找最大的结果
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
HDU 3460
题意:有n个字符串,你有一个打印机,你要使用打印机输出所有字符串,打印机有三种操作,增加一个字符,删除一个字符,打印,问最少需要操作多少次
思路:很明显可以建一颗字典树,但关键在于怎么求解,可以这样思考首先我们知道打印每个字符串的贡献是n,那么现在我们还需要计算打印的贡献和删除的贡献,我们建了一颗字典树,那么字典树上的所有节点都是需要打印的,这就是所有打印的贡献,删除的贡献呢?我们要明确最后肯定只剩下一个字符串,所以之前的肯定会被删除掉,所以我们假设全部删除,再加上一个最长字符串即删除操作的贡献
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include