trie树
Dan__ge
Today is difficult,tomorrow is more difficult,but the day after is beautiful.
展开
-
HDU 3172 并查集+trie树
点击打开链接 题意:给n个关系,然后问u与v的集合中元素的个数 思路:就是简单的并查集就行了,只是这个给的字符串比较猥琐,我们用trie树查找就行了,操作还是很简单的,然后注意的是出题人竟然设置了多组,还要多组输入,只能感叹,WA了两次,org~~~#include #include #include #include #include using namespace std; ty原创 2016-05-27 13:18:09 · 726 阅读 · 0 评论 -
Google Spaceship Defence 面试题目 并查集+最短路
点击打开链接 题意:给了n个地点,然后每个地点的名称,若名称相同则可以认为这两个地点距离为0,下面m个关系代表两个地点的距离,有向的边,q个询问,两个点的距离,想做的密码是nefu 思路:简单的最短路题目,因为有相同的点,可以用并查集将这些点放到一个集合中,然后建图建的就是父节点就行了,找相同关系我用的Trie树,但是map应该也可以直接做,没用过map只能写Trie树了,剩下的就是最短路模版原创 2016-06-02 10:40:16 · 993 阅读 · 0 评论 -
HDU 3460 Trie树
点击打开链接 题意:给了我n个字符串,有三个操作,写一个字符,删除一个字符,还有一个打印字符,问最少多少次操作就能完成 思路:对于这个所有字符串形成的字典树来说,有的字符是需要写一次并且要删除一次的,这样的字符称它为节点,设几点个数为alen,然后所有节点的操作就是alen*2,然后每个串完成后要打印,那么加上n,最后减去一个所有串的长度最长的串,那是因为在写最后一个串的时候写完就可以,不原创 2016-06-13 16:47:18 · 672 阅读 · 0 评论 -
HDU 3499 分层图最短路+Trie树
点击打开链接 题意:给n个城市和m条无向边,然后给了起点和终点,然后你有一次机会使得其中的一张票价减半,问最小花费是多少 思路:明显是裸的分层图嘛,而且层数就只为2比较简单,但是注意的是城市的名字之类的,我用的Trie树来处理的,RE了几次,每组过后将Trie树释放就好了,然后注意那个减半的价钱是直接/2,WA了几次加了1除以的2,o(︶︿︶)o 唉#include #include #i原创 2016-06-18 14:17:14 · 2152 阅读 · 0 评论 -
HDU 3849 双联通+Trie树+并查集
点击打开链接 题意:给了n个人和m个关系,然后找出所有的桥并输出 思路:简单的找桥就行了,然后人的编号就可以用Trie树来完成,最后坑点如果图不连通输出0,联通性用并查集就行了#include #include #include #include #include #include using namespace std; typedef long long ll; typedef原创 2016-07-29 19:24:14 · 429 阅读 · 0 评论 -
UVA 11732 mark这个字典树模版
点击打开链接 题意:询问所有的字符串两两比较的次数和 思路:边插入边计算,节点保存的信息是有多少字符串到这个节点是相同的,每次的结果就是个数*2,然后匹配不成功的时候要+1,若相同则加2 #include #include #include #include #include using namespace std; typedef long long ll; typedef un原创 2016-09-03 12:59:36 · 304 阅读 · 0 评论