Các câu hỏi phỏng vấn [33]

Cảm ơn bác Vũ Hà Văn cho câu hỏi số 90 rất dễ thương. Câu 91 là một sinh viên của tôi vừa phỏng vấn ở Google được/bị hỏi. Câu 92 chôm từ chùa THT, do bác Đàm Thanh Sơn truyền bá từ quyển sách thú vị của Mark Levi.

  1. Có 10 con kiến trên một que 1 mét. Từng con kiến bắt đầu bò sang trái hoặc phải tùy hỉ, dọc theo que, với tốc độ 1 mét/giờ. Khi hai con kiến đụng đầu nhau chúng sẽ đổi hướng. Khi một con bò đến đầu que thì nó rới xuống đất. Hỏi: khi nào thì tất cả kiến rơi xuống đất?
  2. Cho n dãy ký tự, mỗi dãy có n ký tự. Tìm dãy con chung lớn nhất của tất cả n dãy trong thời gian càng nhanh càng tốt. Ví dụ, ba dãy abcxyz, xabcfb, xyzabc có dãy con abc chung.
  3. Một người đi xe đạp hai bánh trong sân. Vết bánh trước và bánh sau tạo thành hai đường cong trơn khép kín không giao nhau. Chứng minh rằng diện tích hình vành khăn nằm giữa hai đường cong khép kín này là một hăng số chỉ phụ thuộc vào cái xe đạp, không phụ thuộc gì vào cơ bắp hay nghệ thuật của người đi.

Chủ đề : Dành cho du học sinh, Vui - Giải Trí. Bookmark the permalink. Trackbacks are closed, but you can post a comment.

13 Comments

  1. Thu Huong
    Posted 14/01/2010 at 10:22 am | Permalink

    Cho em hỏi là với câu hỏi số 91 có phải ta sẽ tìm được trong O(n) với suffix tree đúng ko a?

  2. Posted 15/01/2010 at 7:10 am | Permalink

    90 : 1h.

  3. Posted 15/01/2010 at 7:24 am | Permalink

    Hòa Thượng: 1h đúng là chặn trên tốt nhất có thể có nếu không còn thông tin nào khác.

    Tuy nhiên ta có thể có câu trả lời chính xác luôn nếu cho cả vị trí từng con và chiều (trái/phải) mà từng con kiến chọn. Trong trường hợp đó, bọn kiến có thể rơi trước 1 h.

  4. pandarbear
    Posted 15/01/2010 at 8:48 am | Permalink

    Để PB thử trả lời câu 90 xem nhá:

    Nếu các chú kiến đi cùng chiều thì không quá 1h các chú sẽ rơi xuống hết. Bây giờ xét 1 chú kiến đi ngược chiều với các chú còn lại. Khi chú này gặp chú đi ngước chiều đâu tiên, theo đề bài hai chú này sẽ đổi chiều. Giả sử kiến A đi từ bên trái qua bên phải, kiến B đi từ bên phải qua bên trái, thế thì khi gặp nhau A về bên trái, B về bên phải. Tuy nhiên về bản chất hai chú kiến là không phân biệt nếu ta thêm giả sử ở thời điểm gặp nhau ta không nhìn thấy chúng đụng độ, A vẫn đi tới đầu bên phải, B vẫn đi tới đầu bên trái. Tương tự xét cho một chú kiến bất kỳ trong đoàn ta thấy không quá 1 h tất cả sẽ rơi xuống đất.

    PB xin phép đưa thêm câu hỏi phụ, trong trường hợp có đụng độ hỏi có tối đa bao nhiêu đụng độ có thể xảy ra :D ?

  5. Posted 15/01/2010 at 1:20 pm | Permalink

    Bác Văn cấp cho mỗi con kiến một cái mũ đánh số từ 1 đến mười. Khi hai con kiến đụng độ nhau, thay vì đổi hướng, hai con kiến sẽ đổi mũ cho nhau. Trong bài toán mới này, hiển nhiên sau một giờ, cả mười con Kiến đều rơi vào mồm bác Văn đã há sẵn. Nếu có đo đạc trước, bác Văn còn có thể há mồm đúng lúc chúng rụng, khỏi bị bệnh há miệng mắc quai. Bài toán này dễ hơn bài cũ vì kiến chỉ đổi mũ, không đổi hướng. Để tìm lại bài cũ, ta chỉ cần xác định hoán vị đổi mũ. Hoán vị này còn được phân tích thành tích của các chuyển vị (transposition) tương ứng với các vụ đụng độ. Độ dài tối đa của một hoán vị là n(n-1)/2 trong trường hợp có n con kiến. Nhưng trong bài toán này, vì có một số kiến đi sang phải, một số đi sang trái, trong mỗi nhóm không chuyển vị với nhau, nên số lần đụng độ tối đa sẽ là n^2/4 nếu số kiến n là chẵn, và (n^2-1)/4 nếu n lẻ. Bác Văn thì không quan tâm lắm đến hoán vị, miễn là cả đàn kiến chui vào mồm là được.

  6. Duy
    Posted 15/01/2010 at 5:51 pm | Permalink

    90:
    Tối thiều là tồng chiều dài của 10 con kiến (m) chia cho 1 (h) .
    Ví dụ: chiều dài một con kiến ~ 0.001 (m) x 10 con kiến ~ 0.01 (m) / 1 h ~ 0.01 (h).
    Tối đa là gần một giờ ~ 1 (h).

  7. Posted 15/01/2010 at 8:11 pm | Permalink

    @Duy: độ dài các con kiến bằng … 0 :-)

    @Pandabear & Hòa Thượng: câu trả lời của PB và bác Hòa Thượng dĩ nhiên là chính xác. Quan sát mấu chốt là chỉ cần đổi tên kiến khi 2 con đụng nhau.

    Câu hỏi thêm rất hay của PB thì Hòa Thượng đã cho câu trả lời vừa rất đại số vừa rất tổ hợp, thật thú vị. Cảm ơn!

    @Hòa thượng: chắc bác muốn nói “chuyển vị kề” (adjacent transpositions), hay là tôi nhớ thuật ngữ không chuẩn.

  8. Duy
    Posted 19/01/2010 at 7:37 am | Permalink

    @Hưng: độ dài các con kiến có thể xem bằng 0 nếu như cái que dài hơn 1m gấp nhiều lần. Vì có nhiều loại kiến mà chiều dài của nó có thể lên đến 3-5cm!

    http://www.bbc.co.uk/nature/wildfacts/factfiles/3086.shtml

    Kiến ở New England này trung bình là 1cm ;-)

  9. Duy
    Posted 19/01/2010 at 8:04 am | Permalink

    91: Lý thuyết thì dễ nhưng thực tế thì khó hơn nhiều khi mà chiều dài của chuỗi tăng lên đáng kể.

    Có một bài tương tự trên TopCoder cách đây vài năm (StringSearch)
    http://www.topcoder.com/longcontest/?module=ViewProblemStatement&rd=9958&pm=6164

    Có nhiều lời giải thực tế (practical approaches) thảo lụân khá hay:
    http://forums.topcoder.com/?module=Thread&threadID=510371&start=0

  10. Posted 21/01/2010 at 9:05 pm | Permalink

    Cảm ơn anh Duy cho mấy cái links về bài String Search rất hay.

  11. Hoang Ha
    Posted 22/01/2010 at 8:08 pm | Permalink

    92. Neu dung` loai xe freestyle, truc banh xe truoc co the vuong goc voi truc than xe. Dieu nay tao ra vet xe banh truoc la 1 vong tron va banh sau la mot diem. Vay it’ nhat thi dien tich can tim phai phu thuoc vao khoang cach cua 2 cai tam cua 2 banh xe –> phu thuoc vao` khung cua xe dap. :)

  12. BinhMinh
    Posted 24/01/2010 at 5:08 am | Permalink

    ở đây có rất nhiều bài toán/lời giải để practice. xin lỗi vì nó ko liên quan gì đến 3 bài toán ở trên :)

    http://code.google.com/codejam/

  13. convit
    Posted 26/01/2010 at 12:40 am | Permalink

    Theo tôi thì bài toán 91 là bài toán classical được biết đến với tên gọi là Longest Common Subsequence có thể Google để tìm thấy một số tài liệu nói về độ phức tạp của bài toán này và phương pháp dynamic programming để giải nó. Tôi thích bài toán 90 nhất vì nó phù hợp với các cuộc phỏng vấn kiểm tra trí tuệ hơn là kiến thức.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>