bzoj1819】的更多相关文章

欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1819 题意概括 字符串a与字符串b的编辑距离是指:允许对a或b串进行下列“编辑”操作,将a变为b或b变为a,最少“编辑”次数即为距离. 删除串中某个位置的字母: 添加一个字母到串中某个位置: 替换串中某一位置的一个字母为另一个字母: 对于一个待查询字符串,如果它是单词,则返回-1:如果它不是单词,则返回字典中有多少个单词与它的编辑距离为1. 题解 根据输入的单词构建trie,然后大力搜索即可.…
水题,上trie,然后穷举每一位的时候判定一下三种编辑 ..*,..] of longint; v:..*] of longint; d:..] of boolean; s:string; t,i,l,n,m:longint; procedure add(w:longint); var p,i,y:longint; begin p:=; to length(s) do begin y:=ord(s[i])-; then begin inc(t); son[p,y]:=t; end; p:=son…
正解是trie树...在树上跳来跳去什么的 然而在企鹅qq那题的影响下我写了hash... 添加一个字母到一个串,就相当于另一个串删对应位置上的字母. 改变某个位置上的字母,就相当于两个字符串删掉同一个位置上的字母. 所以要记录的东西也不多..存一下每个串删掉每个位置上的字母后的hash值并排序,然后查询的时候二分一下就行了. 但要注意的是,两个字符串可能有多种编辑方式...比方说字符串cccc,分别删掉四个位置上的字母后得到的都是ccc.. 所以一开始要再去一下重.(要不是老司机提醒我还不知道…
Description 人们在英文字典中查找某个单词的时候可能不知道该单词的完整拼法,而只知道该单词的一个错误的近似拼法,这时人们可能陷入困境,为了查找一个单词而浪费大量的时间.带有模糊查询功能的电子字典能够从一定程度上解决这一问题:用户只要输入一个字符串,电子字典就返回与该单词编辑距离最小的几个单词供用户选择. 字符串a与字符串b的编辑距离是指:允许对a或b串进行下列“编辑”操作,将a变为b或b变为a,最少“编辑”次数即为距离.  删除串中某个位置的字母:  添加一个字母到串中某个位置:…
[BZOJ2709]水的二分加验证.可是好像被读入萎到了... [BZOJ3229]强大的算法见此.被机房的一堆大神"推荐".于是被坑了...写了一个下午... [BZOJ3631]这道题给我的启发是:要多想想算法. 開始一直在打树链剖分,打到一半忽然在众神犇的提(bi)示(shi)下.发现有O(N)的方法.试想:假设要支持区间改动(加减),最后再查询,能够用什么方法?固然,线段树和树状数组等等都能够,可是最好的显然是类似于前缀和的思想.比方在L~R加上一个数,能够再L处+K.在R+1…