
字符串——Trie树
HARD_UNDERSTAND
Just try
展开
-
2016"百度之星" - 资格赛 Problem C 字典树
Problem C Accepts: 832 Submissions: 6612 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Problem Description度熊手上有一本神奇的字典,你可以在它里面做如下三个操作:1、insert : 往神奇字典中插入一个单词2、原创 2016-05-16 19:44:22 · 438 阅读 · 0 评论 -
poj 2513 无向图欧拉路+Trie
题意:给出一些木棍,每个木棍两端有两种颜色,不同的木坤如果首尾颜色相同,那么就可以连接起来,问是否所有的木棍看可以连成一条线?分析:这题跟Uva10129单词那题几乎是一样的,只不过那题是有向图,因为单词的首尾是固定的嘛!而这题是无向图,无向图的话先判断一下是否是连通图,然后再判断一下每个点的度,如果没有奇度点或者奇度点只有两个那么是可以构成无向欧拉图的。把不同颜色当做不同的点,用Tr原创 2016-07-12 19:27:47 · 330 阅读 · 0 评论 -
poj 2418 简单Trie树
题意:给出一些字符串,统计出现的次数,并按字典序输出。分析:裸的Trie树,因为输出按字符串的字典序输出,所以插入的时候,把第一次出现的字符串暂时保存起来。以后排完序在查询输出即可。不过这题我发现了一个很神奇的地方,因为我刚开始保存字母节点的时候开的数组是26,如果出现大写字母或空格可定会报错!但是我下面开了一个a数组,仍然开26大小的节点数组,居然没报错!!而且AC了QAQ。并不原创 2016-07-12 20:32:13 · 411 阅读 · 0 评论 -
ural 1542 字典树(思维)
题目:http://acm.timus.ru/problem.aspx?space=1&num=1542 题意: 给出n个单词和各自出现的频率,然后给出m个某些单词的开头,要求找出频率最高不超过10个的以这些字符串开头的单词。分析: 显然是字典树的题目,如果把单词建字典树,然后对于每个开头字符串,都查询一遍字典树,显然会超时。 所以逆向思考一下,把开头字符串建立字典树,然后查询每个原创 2016-09-12 10:47:52 · 293 阅读 · 0 评论 -
Codeforces 706D Trie树/multiset
题目:http://codeforces.com/problemset/problem/706/D 题意: +表示吧这个数加到集合中,-表示把这个数从集合中减去一次,?表示集合里面的一个y使的x^y最大分析: 要使异或最大,那么尽量从高位使两个数不同即可。Trie树。#include<bits/stdc++.h>using namespace std;const int N=1e7原创 2016-09-01 09:20:34 · 332 阅读 · 0 评论 -
hdu4825 Xor Sum【Trie、Xor】
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4825题意:给一个数组(n个数,n<1e5),然后m个询问,给出一个x,给出数组中与x异或值最大的那个数?分析:给n个数建立字典树,如果异或值最大,那么就找两个数的二进制尽量不同。代码:#include<bits/stdc++.h>using namespace std;typedef long long原创 2017-03-05 15:33:46 · 481 阅读 · 0 评论