由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 一个算法问题
相关主题
求教:取串中的子串好方法程序员的四个境界
两个关于matrix的问题请教[合集] image processing & comparison questions
Cracking coding interview里的一道例题问个题
请教一道新奇的面试题big data讲究四个v
有无这样的算法或者理论转La Mer,EL, CL,Lancome,Kiehl’s 等各类正品和小样
卫东大神来说说阿尔法狗横扫棋坛这事吧超难概率题
R语言,小笔记本,如何调参?转la mer小样
问个优化问题【出售】雅诗兰黛小样
相关话题的讨论汇总
话题: 子串话题: 字符串话题: 字符话题: 四个
进入Programming版参与讨论
1 (共1页)
W**********U
发帖数: 132
1
怎么产生一个5000个字符串(alphanumeric: a ~ z, A ~ Z, 0 - 9),使得其中任何四个
相邻的字符组成的子串都不相同。比如,这个字符串就满足条件:
Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3。。
。。。。
谢谢。
h**********c
发帖数: 4120
2
生成四个字符的字典,字典没有重复,
然后参考TCP协议的sliding window

【在 W**********U 的大作中提到】
: 怎么产生一个5000个字符串(alphanumeric: a ~ z, A ~ Z, 0 - 9),使得其中任何四个
: 相邻的字符组成的子串都不相同。比如,这个字符串就满足条件:
: Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3。。
: 。。。。
: 谢谢。

h**********c
发帖数: 4120
3
四个
相邻怎么相邻,是二维的吗?
h**********c
发帖数: 4120
4
我觉得是不是伪站搞的,还是都学那个node js 搞async,说话都半拉卡几,语无伦次,
吞吞吐吐,云山雾绕。
W**********U
发帖数: 132
5
》 Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3
在这个例子里, 相邻的四个字符组成的子串包括: Aa0A, a0Aa, 0Aa1, Aa1A, a1Aa,.
..

【在 h**********c 的大作中提到】
: 四个
: 相邻怎么相邻,是二维的吗?

h**********c
发帖数: 4120
6
估计汉语是您第二语言吧,四个连续字符的子窜。
用一个hashset,
随机生成四窜,set里有就加,没有就过,
用dequeue来做sliding window.

Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3
,.

【在 W**********U 的大作中提到】
: 》 Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3
: 在这个例子里, 相邻的四个字符组成的子串包括: Aa0A, a0Aa, 0Aa1, Aa1A, a1Aa,.
: ..

w***g
发帖数: 5958
7
Aa0 Aa1 Aa2 Aa3 ... Aa9
Ab0 Ab1 Ab2 Ab3 ... Ab9
Ac0 Ac1 Ac2 Ac3 ... Ac9
...
Az0 Az1 Az2 Az3 ... Az9
Ba0 Ba1 Ba2 Ba3 ... Ba9
...
就这么下去一直到
Zz0 Zz1 Zz2 Zz3 ... Zz9
这样产生出来的串长度一共26*26*10= 6760
我觉得能满足要求。
一般问题是一个在四字母字串作为节点的有向图上找long path的问题。
基本套路是深度优先搜索。但是这个问题的longest path版本是著名的
NP难问题。深度优先搜索如果没法立即出结果,那等多久才能出结果
就不好说了。或者说5000可能立刻就出结果了,但是改成50000可能永远
也出不了结果。

【在 W**********U 的大作中提到】
: 怎么产生一个5000个字符串(alphanumeric: a ~ z, A ~ Z, 0 - 9),使得其中任何四个
: 相邻的字符组成的子串都不相同。比如,这个字符串就满足条件:
: Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3。。
: 。。。。
: 谢谢。

d***a
发帖数: 13752
8
按前面wdong说的,把这个pattern继续下去,就可以了。下面这个也可以:
abc0abc1abc2...abcAabcBabcC...bcd0bcd1bcd2...
长度可以达到5000。可以证明四个字符长度的子串不会重复。
你的问题,不会是要穷举吧,那就是另一回事了。

【在 W**********U 的大作中提到】
: 怎么产生一个5000个字符串(alphanumeric: a ~ z, A ~ Z, 0 - 9),使得其中任何四个
: 相邻的字符组成的子串都不相同。比如,这个字符串就满足条件:
: Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3。。
: 。。。。
: 谢谢。

w***g
发帖数: 5958
9
我傻了,竟然重新发明了他题目里的pattern。

【在 d***a 的大作中提到】
: 按前面wdong说的,把这个pattern继续下去,就可以了。下面这个也可以:
: abc0abc1abc2...abcAabcBabcC...bcd0bcd1bcd2...
: 长度可以达到5000。可以证明四个字符长度的子串不会重复。
: 你的问题,不会是要穷举吧,那就是另一回事了。

g****t
发帖数: 31659
10
改成5万的话不知道可不可以这样做。
长度为L的字符串S,有L-3个满足要求的4字子串。
Let S子串的集合为f(S)
Let S最后3位的串 g(S)
加一个新字母只需要查最新的4字子串是否和L-3个相同就可以了。
这个检查似乎可以承受。
选最新字母的时候启发式,选一个x,导致g(S) + x组成的四子字串
和f(S)的平均值距离最近,不知道可以吗。
这样可以启发式的节省字母。
或者nearest neighborhood之类的选一个新字母。
回头我写个程序试试。

【在 d***a 的大作中提到】
: 按前面wdong说的,把这个pattern继续下去,就可以了。下面这个也可以:
: abc0abc1abc2...abcAabcBabcC...bcd0bcd1bcd2...
: 长度可以达到5000。可以证明四个字符长度的子串不会重复。
: 你的问题,不会是要穷举吧,那就是另一回事了。

d***a
发帖数: 13752
11
呵呵...思路都差不多的。

【在 w***g 的大作中提到】
: 我傻了,竟然重新发明了他题目里的pattern。
p****o
发帖数: 1340
12
不知道你这种greedy的办法是不是就是最优解啊。四个字母的字串图的对称性很强。不
知道有没有可以利用的地方。
反正是NP问题,我想这样还不如就用heteroclinic的方法,但是引入随机性,通模拟退
火的办法,求一个近似解算了。

【在 g****t 的大作中提到】
: 改成5万的话不知道可不可以这样做。
: 长度为L的字符串S,有L-3个满足要求的4字子串。
: Let S子串的集合为f(S)
: Let S最后3位的串 g(S)
: 加一个新字母只需要查最新的4字子串是否和L-3个相同就可以了。
: 这个检查似乎可以承受。
: 选最新字母的时候启发式,选一个x,导致g(S) + x组成的四子字串
: 和f(S)的平均值距离最近,不知道可以吗。
: 这样可以启发式的节省字母。
: 或者nearest neighborhood之类的选一个新字母。

h**********c
发帖数: 4120
13
很沮丧的一天,拖着疲惫的身体带着一脑袋问题回家,其实是回到公寓。
想睡觉的时候过劲了。
g****t
发帖数: 31659
14
模拟退火或者遗传算法等也要有个启发式的优化指标。
所以问题的核心是以下启发式策略是否管用:
“尽可能和过去的字符串集合靠拢以便于节省字母”
如果这个启发式办法比纯随机穷举快,那就有意思。


: 不知道你这种greedy的办法是不是就是最优解啊。四个字母的字串图的对称性很
强。不

: 知道有没有可以利用的地方。

: 反正是NP问题,我想这样还不如就用heteroclinic的方法,但是引入随机性,通
模拟退

: 火的办法,求一个近似解算了。



【在 p****o 的大作中提到】
: 不知道你这种greedy的办法是不是就是最优解啊。四个字母的字串图的对称性很强。不
: 知道有没有可以利用的地方。
: 反正是NP问题,我想这样还不如就用heteroclinic的方法,但是引入随机性,通模拟退
: 火的办法,求一个近似解算了。

1 (共1页)
进入Programming版参与讨论
相关主题
【出售】雅诗兰黛小样有无这样的算法或者理论
转雅诗白金面霜眼霜,anr精华+眼霜,倩碧水奇迹面霜,repairwe卫东大神来说说阿尔法狗横扫棋坛这事吧
转兰蔻美白精华,小黑瓶精华+眼霜,EL紫精华,CL水磁场等R语言,小笔记本,如何调参?
不断更新 雅诗 专场问个优化问题
求教:取串中的子串好方法程序员的四个境界
两个关于matrix的问题请教[合集] image processing & comparison questions
Cracking coding interview里的一道例题问个题
请教一道新奇的面试题big data讲究四个v
相关话题的讨论汇总
话题: 子串话题: 字符串话题: 字符话题: 四个