Prob_Solve 板


LINE

※ 引述《walker2009 (不害怕。不後悔)》之铭言: : 想请问一个演算法相关的问题 : 假设我有一段 text, 长度是 n : 另外还有一段 pattern, 长度是 m : 其中 n > m : 我知道说, 在 text 的哪些位置是 character 'X', 共 A 个 : 我也知道, 在 pattern 的哪些位置是 character 'X', 共 B 个 : 我想求, pattern 从 text 的第一个位置滑到最後一个位置时 : 其中哪些位置是 pattern 中的 'X' 有对到 text 中的 'X' 的 : 只要任意一个 X 对到就可以了, 不用全部对到 : 也就是 : find all 1<= i <= n, : such that for pairs (p[1],t[i]) , (p[2],t[i+1]) , ... , (p[m],t[i+m-1]) : 至少有一个 pair 是 (X,X) 最後这个叙述看不懂,好像所指的pattern可以任意伸缩长度一样. 不过,不管这个 叙述,看你问题描述,似乎可以反向解: 因为当你讲 X--X 这个pattern时,意思其实是 X--- 或 ---X,那就简单了. 接下来只要从text线性走过,找到每个 X 并把前後四位之内都标出来就是答案. 例如 1 2 3 4 5 6 7 8 9 X X X X 找到 2 标出 2; 找到 4 标出 1,2,4; 找到 5 标出 2,4,5; 找到 9 标出 6. 之後再将重复结果统一即可. -- /yau --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.231.66.68
1F:→ yauhh:另一个问题是,你怎麽肯定想要找O(n+m)的解? 06/09 09:41
2F:→ suhorng:原PO的意思应该是指 text跟pattern的任一个M有对应到 06/09 11:05
3F:→ suhorng:那段意思是说, text长度是n, pattern长度是m 06/09 11:05
4F:→ suhorng:而对於位置i, 若 (p[1],t[i]) (p[2],t[i+1]) ... 06/09 11:06
5F:→ suhorng:(p[m], t[i+m-1]) 中有任一个pair是 (M,M), 就说pattern 06/09 11:06
6F:→ suhorng:在text+i这个位置match 这样? 然後要找出所有match的i 06/09 11:06
7F:→ angleevil:其实tag固定在头尾的话,也是可以做出这效果 06/09 11:43
8F:推 walker2009:嗯嗯@@ 是要找 suhorng大说的那个 06/09 13:04
9F:→ walker2009:yau大的作法看起来是 O(nm)~ 06/09 13:18
10F:→ walker2009:我不确定有 linear time 的解啦XD 只是一开始看到 06/09 13:19
11F:→ walker2009:这问题, 看起来很简单, 我跟几个朋友都觉得应该可以 06/09 13:19
12F:→ walker2009:但後来却都想不出 linear time 的解, 因此想说问看看 06/09 13:19
13F:→ walker2009:有没有人处理过类似问题, 或是有关键字可以提供查询@@ 06/09 13:19
14F:→ yauhh:我看你要先把一个问题定清楚: 06/09 13:28
15F:→ yauhh:怎 06/09 13:29
16F:→ yauhh:麽说pattern case可以拉到讨论O(m)的程度。 06/09 13:30
17F:→ yauhh:以本例来看,只明确看到你要找二个offsets:0,3 06/09 13:32
18F:→ yauhh:二个Offsets相关字元都是X。另外,别的位子是否not X也可以 06/09 13:35
19F:→ yauhh:现在具体的pattern很小,整个其实化约成O(n)了。 06/09 13:38
20F:推 AstralBrain:你是来回答问题还是来否定整个问题的... 06/09 15:58
21F:推 ledia:推楼上... 别担心, 反正大家都有看懂就好了 XD 06/09 16:38
22F:→ angleevil:~"~这问题,我至少误解三次以上.演算法真是新人勿碰阿 06/09 17:19
23F:→ yauhh:你认为我否定问题?我认为我是帮他补强问题 06/09 18:15
24F:→ yauhh:如果你不认同我的看法,可以发表你自己的解。不必无谓相争 06/09 18:17
25F:→ yauhh:原po应该可以参考这篇: 06/09 22:55
26F:→ yauhh:http://en.wikipedia.org/wiki/Suffix_tree 06/09 22:55
27F:→ yauhh:所讨论的不是相同的问题,但有很接近目标的感觉. 06/09 22:58
28F:推 walker2009:嗯@@ 我有想过 suffix tree, 但最後还是会转回 06/09 23:33
29F:→ walker2009:don't care matching, 掉到 O(n log m) 06/09 23:33
30F:→ angleevil:其实看到原po给的连结,和其他给的连结 06/10 09:35
31F:→ angleevil:就算用到boolean convolution,应该也是要对text的index 06/10 09:36
32F:→ angleevil:和pattern index.到最後更加无法理解logm的由来. 06/10 09:37
33F:→ yauhh:log的出现通常跟tree有关系 06/10 21:17
34F:推 LPH66:既然能看成 index 那可以更进一步这样看: 06/11 03:19
35F:→ LPH66:原问题等同於求 {p-q | p \in P, q \in Q} 06/11 03:19
36F:→ LPH66:其中 P \subseteq {1,2,3,...,n} Q \subseteq {1,2,3,...,m} 06/11 03:20
37F:→ LPH66:这和多项式乘法有点类似 自然就能有类似 FFT 的做法 06/11 03:20
38F:→ LPH66:(其实就是 boolean convolution 在做的事了} 06/11 03:21
39F:→ LPH66:这里 log 的出现就和 FFT 的 divide & conquer 做法有关 06/11 03:21
40F:→ LPH66:而比较没有明显的树存在 06/11 03:21
41F:推 DJWS:如果字元数不多的话 是不是可以用hash table? 06/11 07:14
42F:→ DJWS: 种类 06/11 07:15
43F:推 walker2009:可以这麽想, 因为我只 care X 这个 character 06/12 00:44
44F:→ walker2009:所以我把其他 character 都换成 O 也没关系,不影响答案 06/12 00:45
45F:→ walker2009:因此这个问题可以想成只有 2 种 character 06/12 00:45
46F:推 ledia:hash table worst case 也会是 O(nm) 06/14 09:08
47F:→ firejox:二进位码? 06/14 19:54
48F:→ angleevil:~"~所以这题有实作出来吗? 如果有的话,不知道可以po上来 06/15 21:45
49F:→ angleevil:吗? 让小弟知道怎麽做 06/15 21:46







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP