数据结构:字典树
数据结构:字典树
LSD20164388
如果你过几天就忘了,那么你并没有真正的掌握。
展开
-
HDU 1671 Phone List(字典树)
题意:给你一堆电话号码,让你判断其中是否有号码是其他号码的前缀。思路:用电话号码建一颗字典树,插入一个单词的时候直接判断。插入完一个单词之后把它位置u的v【u】置为1,如果这个单词是其他单词的前缀,那么插入完这个单词之后它的下一个位置一定有节点。如果该单词包含其他单词的前缀,则一定经过v[u]>0的节点。具体见代码。需要注意有就输出NO,没有输出YES。。。(我说怎么刚开始的代码和样例结果相反原创 2017-11-23 21:48:27 · 231 阅读 · 0 评论 -
POJ 3376 Finding Palindromes(扩展KMP+字典树)
Finding PalindromesTime Limit:10000MS Memory Limit:262144K Total Submissions:4852 Accepted:902 Case Time Limit:2000MS DescriptionA word is called a palindrome if we read...原创 2019-02-27 20:01:06 · 442 阅读 · 0 评论 -
CodeForces - 633C - Spy Syndrome 2(字典树+dp)
C. Spy Syndrome 2time limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAfter observing the results of Spy Syndrome, Yash realised the ...原创 2019-01-30 17:21:53 · 374 阅读 · 0 评论 -
CCPC-Wannafly Winter Camp Day7 (Div2, onsite) F 逆序对! (01字典树的O(nlogn)做法)
思路:这道题其实还是偏思维,用O(n*n*logn)和O(n*n)的做法都可以过,但核心思想是一样的。对于任意两个数x,y(x!=y),不妨设x<y 要想使另一个数z使得x^z>y^z的条件是设 t为 x^y 的最高为1的位(则x的第t位为0,y的第t位为1)则z的第t位为1。好好思考一下上述过程。所以要求1~m中有多少个数能改变x y的大小关系,只需要求有...原创 2019-01-30 11:42:09 · 358 阅读 · 0 评论 -
2015年ACM/ICPC长春赛区 J题(01字典树)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5204 题意:给你n(n<=1000)个数,让你选三个数a[i],a[j],a[k](i!=j&&i!=k&...原创 2018-09-29 11:02:45 · 311 阅读 · 0 评论 -
HDU 4099 Revenge of Fibonacci(字典树+大数加法)
题意:给你一串数,判断它是否是斐波那契数列前100000(不包括第100000项,WA了一次)项某一项的前缀。给你的数最多不超过40位。思路:直接构造前100000项斐波那契数列的字典树是肯定超时的,并且我们只需要前40位。然而由于考虑到进位的问题,我们保存它的前60位,也就是说60位以后的进位我们就可以忽略不计了,但是只保存45位就会WA。#include#inclu原创 2018-06-05 08:37:14 · 252 阅读 · 2 评论 -
HDU 4287 Intelligent IME(字典树)
题意:给你几串数字,每一串数字都是拼音九键的按键顺序。再给你几个单词,问你从刚才的按键顺序中分别能按出多少个给定的单词。思路:用map直接将每个字母映射为拼音九键对应的数字,再插入到字典树,插入完后对应位置u的v[u]+1,v[u]表示打到u这个位置能打出的给定的单词的单词数。总体来说还是比较简单的。AC代码:#include#include#include#include原创 2017-11-23 22:23:42 · 336 阅读 · 0 评论 -
HDU 1075 What Are You Talking About(字典树)
题意:给出每个英语单词对应的火星单词,然后给你一串火星句子,让你翻译成英文句子。思路:用火星文构造一颗字典树,节点位置存对应的英文单词。然后从句子里找单词再从字典树find即可。标点直接输出就行。AC代码:#include#include#include#include#include#include#include#include#includeu原创 2017-11-23 22:13:40 · 223 阅读 · 0 评论 -
HDU 4099 Revenge of Fibonacci(字典树+大数加法)
题意:给你一串数,判断它是否是斐波那契数列前100000(不包括第100000项,WA了一次)项某一项的前缀。给你的数最多不超过40位。思路:直接构造前100000项斐波那契数列的字典树是肯定超时的,并且我们只需要前40位。然而由于考虑到进位的问题,我们保存它的前50位,也就是说50位以后的进位我们就可以忽略不计了,但是只保存45位就会WA。总体来说还是不难的。具体见代码。AC代码:#原创 2017-11-23 22:03:04 · 236 阅读 · 0 评论 -
HDU 6059 Kanade's trio(思维+字典树,好题)
Kanade's trioTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 1478 Accepted Submission(s): 548 Problem DescriptionGive you an array ...原创 2019-02-19 12:07:04 · 316 阅读 · 0 评论