由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请问G这道题目怎么做?
相关主题
G面试题,很难请教一下超大图的存储问题
从福特密码锁想到一道题有向图判断有无环
这道题难不难?问一个google题
讨论一道图论题求教两道FLAG题
今天灌水不踊跃,出道题吧如何判断一个图中是否有环?
创业idea:Mileage Run Alert Service有包子,花街的一道题,请指教
这个题有什么好方法?某大公司两道题
帖一个RF的题目求bless问一题
相关话题的讨论汇总
话题: node话题: 回路话题: edge话题: 欧拉话题: 有向图
进入JobHunting版参与讨论
1 (共1页)
n***a
发帖数: 222
1
一个密码锁四位,可以用一个长string,来每四个
每四个读来试密码,怎么设计这个长string用尽可能少的digits来试出0000-9999这一
万种可能。Hamilton回路问题,NP, dfs+recursion,Wikipedia上有代码。但是也有别
的方法。
没有找到详细的讨论。。。求解
f*******t
发帖数: 7549
2
每四个数字试一次,难道string不是固定40000个digit长?
n***a
发帖数: 222
3
不是哦
比如10002 就可以代表1000和0002两种密码

【在 f*******t 的大作中提到】
: 每四个数字试一次,难道string不是固定40000个digit长?
e********2
发帖数: 495
4
Leetcode都没做好,还出来问。

【在 n***a 的大作中提到】
: 一个密码锁四位,可以用一个长string,来每四个
: 每四个读来试密码,怎么设计这个长string用尽可能少的digits来试出0000-9999这一
: 万种可能。Hamilton回路问题,NP, dfs+recursion,Wikipedia上有代码。但是也有别
: 的方法。
: 没有找到详细的讨论。。。求解

j**********3
发帖数: 3211
5
难道不是把每一个都试一次?10的4次方?
n***a
发帖数: 222
6
请问是leetcode哪题?

【在 e********2 的大作中提到】
: Leetcode都没做好,还出来问。
c******w
发帖数: 1108
7
定义1000个node的有向图,每个node代表三位数字。每个node有10条outgoing edge,
对应0-9。每个node加上它的一条outgoing edge代表一组四位密码。
题目的最优解就是能遍历该有向图所有*edge*的最短的path。实际上就是要解这个图上的
chinese postman problem。
https://simple.m.wikipedia.org/wiki/Chinese_postman_problem
因为该有向图里每个node的in-degree和out-degree都等于10,其最优解为Eulerian
circuit :visits every edge exactly once。可以在O(|E|)内找到。
w*****n
发帖数: 98
8
De Bruijn sequence

【在 n***a 的大作中提到】
: 一个密码锁四位,可以用一个长string,来每四个
: 每四个读来试密码,怎么设计这个长string用尽可能少的digits来试出0000-9999这一
: 万种可能。Hamilton回路问题,NP, dfs+recursion,Wikipedia上有代码。但是也有别
: 的方法。
: 没有找到详细的讨论。。。求解

l*3
发帖数: 2279
9
此题可以不用哈密顿回路做。考虑欧拉回路即可。
首先说明一下,这个string的长度就是10003,也就是说每连续4个都是互不相同的4位
数,不会有浪费
构建方法就是:
考虑一个有向图,每个node是一个三位数,edge是四位数,node和node的连接关系是这
样的,我举个例子:
node v = (a, b, c)
其中 0 \le a, b, c \le 9
从这个node出发的edge有:
(a, b, c, 0), 连到 (b, c, 0)
(a, b, c, 1), 连到 (b, c, 1)
....
(a, b, c, 9), 连到 (b, c, 9)
这样每个node都有10个edge-in 10个 edge-out,全图是可以欧拉回路遍历的,遍历走
过的所有边就是你要的sequence
l*3
发帖数: 2279
10
另外一个方法是 De Bruijn sequence
不过这个方法用到一些数学知识,不如我上面说的欧拉回路那个那么好理解。我也至今
没有看懂细节。
De Bruijn sequence 是O(n) 的算法。
上面的欧拉回路做不到 O(n), 不过也是多项式的,对于这个问题来说,我觉得欧拉回
路的算法已经够巧妙了。
1 (共1页)
进入JobHunting版参与讨论
相关主题
问一题今天灌水不踊跃,出道题吧
Link nodes at same level in a binary tree 怎么做?创业idea:Mileage Run Alert Service
问个题目这个题有什么好方法?
一道C面试题帖一个RF的题目求bless
G面试题,很难请教一下超大图的存储问题
从福特密码锁想到一道题有向图判断有无环
这道题难不难?问一个google题
讨论一道图论题求教两道FLAG题
相关话题的讨论汇总
话题: node话题: 回路话题: edge话题: 欧拉话题: 有向图