IOI 2015 - Ngày 2

10 giờ sáng ngày mai, ngày 2 của IOI 2015 sẽ diễn ra. Xin mời quý vị và các bạn cùng tham gia buổi bình luận trước trận thi. Sau ngày thi 1, đội tuyển Việt Nam đã dành được những lợi thế nhất định. Đây là kết quả của ngày 1:

 

Phạm Văn Hạnh              : Rank 10   | 249.02 điểm

Phan Đức Nhật Minh       : Rank 27   | 205.42 điểm

Nguyễn Việt Dũng          : Rank 71   | 179.45 điểm

Nguyễn Tiến Trung Kiên : Rank 122 | 114.45 điểm

 

Theo tôi, kết quả ngày 1 chưa thực sự phản ánh đúng thực lực của đội tuyển Việt Nam. Các code thủ Việt Nam có vẻ chưa thực sự bung hết sức mình mà mới chỉ chơi thăm dò để đối thủ chủ quan. Có lẽ khác biệt sẽ nằm ở ngày 2, tất cả đều đang nhắm đến ngôi vô địch, hoặc ít ra cũng là huy chương vàng. Chúng ta hãy cùng hy vọng đẳng cấp và tinh thần chiến đấu của đội tuyển Việt Nam sẽ được thể hiện vào ngày 2. Diễn biến chi tiết của ngày 2 sẽ được cập nhật trong topic này, các bạn có thể vào bình loạn, chém gió cũng như gửi những lời chúc tốt đẹp nhất đến đội tuyển Việt Nam.

Rank: http://scoreboard.ioinformatics.org/Ranking.html

Đề bài: http://ioi2015.kz/content/view/1/271

Dừng tính điểm / submit qua VNOI

Trong thời gian này, việc tính điểm & submit gặp nhiều sự cố, nên bọn mình đã phải tắt phần tính điểm để sửa lỗi. Vì vậy trong thời gian này các bài nộp qua VNOI và xếp hạng VOJ sẽ không được cập nhật.

Bọn mình sẽ cố gắng sửa sớm trong 1-2 tuần tới. Rất mong các bạn thông cảm.

Discuss đề thi IOI 2015

Như tít ạ, em thấy các bác chém gió bảng rank ghê quá nên cũng xin mạn phép mở topic chém gió lời giải ở đây :3

Em xin mở hàng luôn bằng sol bài 1 (hi vọng là đúng) của em:

*Nhận xét: Ta không nên đi đủ một vòng tròn quá 1 lần.

- Chứng minh: giả sử ta đi nhiều hơn 1 vòng tròn. Xét 2 lần đi bất kì. Trong 2 lần đó, ta sẽ chuyển không nhiều hơn 2 * K món đồ. Ta có thể tối ưu cách đi này bằng cách: đi theo chiều bất kì, đến khi gặp và phát đủ K món thì quay về, sau đó đi theo chiều ngược lại, phát quà cho những thằng còn lại (<= K thằng). Tổng độ dài quãng đường sẽ không lớn hơn 2 * L, tốt hơn cách đi trước.

Như vậy ta chỉ cần xét 2 trường hợp: không đi hết vòng tròn nào và đi hết 1 vòng tròn. Trước hết chia những thằng trên vòng tròn thành 2 tập trái và phải, tùy theo đi từ 0 theo hướng nào đến nó gần hơn.

*TH1: Ta sẽ đến phát quà cho 2 thằng xa 0 nhất của mỗi tập. Trên đường đi ta sẽ phát hết quà cho nó và  K - 1 thằng trước nó. Do đó tiếp theo ta sẽ phát quà cho các thằng xa 0 thứ K, 2 * K, ... của mỗi tập cho đến khi hết hàng. Vì mảng được sort rồi nên trường hợp này chạy hết O (N / K).

*TH2: Để ý rằng ta có thể đi hết vòng tròn ngay từ đầu, và ta nên chọn một đoạn liên tiếp K thằng để phát quà (và hiển nhiên, mỗi tập nên có ít nhất 1 thằng được phát). Sau đó ta làm giống TH1. ĐPT là O(K*N/K) = O(N). Mong các bác vào góp cho xôm ạ :3

UPD: Đã sửa lại một số đoạn phát biểu liều :(

IOI 2015 - ngày 1

IOI 2015 - ngày 1 sẽ diễn ra vào 10h sáng ngày mai ở Kazakhstan. Đội tuyển chúng ta năm nay gồm 4 bạn:

4 bạn đều học Tổng hợp <3

Nghe nói sẽ có bảng rank online, nhưng giờ chưa có link (bao giờ mình có link sẽ update vào đây).

Các bạn có thể vào đây chém gió, cổ vũ đội tuyển chúng ta, dự đoán kết quả... nhé :v

Mình dự đoán 1 vàng 3 bạc :D

Thay mặt admin VNOI chúc các bạn dành thắng lợi lớn trong kỳ thi ngày mai.

UPD: Link rank --> http://scoreboard.ioinformatics.org/Ranking.html

VNOI Marathon Round 1 - Thảo luận

Ban tổ chức chưa muốn công bố lời giải của các bài ngay vì muốn khuyến khích các bạn trao đổi và học tập lẫn nhau. Đó là cách rất nhanh và hiệu quả để các bạn biết cách làm các bài. Các bạn không làm được bài đừng ngần ngại hỏi, và các bạn làm được bài cũng chớ quên chia sẻ nhé :) 

Mời các bạn thảo luận về lời giải của các bài tập trong vòng vừa rồi :)

Interval Tree trên tập đoạn thẳng

Bài viết đã được chuyển sang Thư viện VNOI mới.

VNOI Marathon 2015 Round 1!

Chào các bạn,

Như đã thông báo ở đây, T7 tuần này sẽ diễn ra VNOI Marathon vòng 1.

Hè đã đến, và đây là thời gian tuyệt vời nhất để các bạn cày bài và tăng trình độ vì không phải vướng víu công việc ở trường. VNOI Marathon, bắt đầu từ năm 2008, được lập ra với mục tiêu giúp các bạn học được kiến thức mới. Vì vậy bọn mình để thời gian thi 12h khá dài, để các bạn có thể chày cối cả ngày và phát minh ra những ý tưởng kỳ diệu.

Những điều bạn nên biết trước khi thi:

  • Bạn chỉ cần có account VOJ là có thể thi
  • Bạn đọc đề và submit ở đây. Khi kỳ thi bắt đầu, đề bài sẽ tự động xuất hiện.
  • Trong quá trình thi, bài của bạn chỉ được chấm với test ví dụ. Đối với 1 số bài đặc biệt bạn được chấm nhiều test hơn, thì sẽ được nói cụ thể rõ ràng trong đề bài.
  • Bạn được nộp bài nhiều lần, kết quả cao nhất sẽ được tính là kết quả cuối.
  • Nếu bài của bạn chạy trên máy đúng, mà nộp lên không hiểu sao sai, thì bạn có thể submit thử ở ideone, nhưng chú ý là bạn cần đặt chế độ private, nếu không các thí sinh khác có thể tình cờ và bất ngờ đọc được code của bạn. Trong trường hợp 2 bài thí sinh giống nhau, bọn mình có quyền chấm thành 0 điểm mà không nhất thiết phải giải thích thêm.
  • Trong quá trình thi, nếu có thắc mắc gì, các bạn có thể đặt câu hỏi ở đây. Bọn mình sẽ cố gắng giải đáp thắc mắc trong thời gian sớm nhất có thể.
  • Trong trường hợp đề bài / việc chấm bài có vấn đề, các thông báo sẽ được đăng ở đây. Vì vậy các bạn nên thỉnh thoảng quay lại kiểm tra topic này.

Muốn bùng cháy,

VNOI Admin team.

 

UPDATE#1: Link đề bài

UPDATE#2: Tạm thời trình chấm bài VMCUT đang bị sai và sẽ được sửa trong thời gian sớm nhất. Các bài nộp của các bạn sẽ được rejudge sau khi trình chấm được sửa xong.

UPDATE#3: Hiện tại trình chấm bài VMCUT đã chính xác. Các bài đã được rejudge

UPDATE#4: Đề bài VMSALARY bị viết sai. Đề đã được sửa lại:

"Nếu nhân viên x là cấp trên trực tiếp của nhân viên y và nhân viên y là cấp trên của nhân viên z thì x là cấp trên (nhưng không trực tiếp) của nhân viên z."

UPDATE#5: 3 bài VMSALARY, VMDAOBIT và VMPIZZA đã được chấm xong. Bài VMCUT do có 1 chút sự cố kĩ thuật nên sẽ được chấm sau. Dự kiến bài VMCUT sẽ được chấm xong trong 1-2h nữa.

UPDATE#6: Mình đang rejudge lại bài VMPIZZA do có 2 test yếu. Nếu các bạn 100 điểm thì khả năng cao là sẽ không bị ảnh hưởng gì. Bài VMCUT mình đang rejudge lại từ đầu do rejudge sai khiến các bạn bị 0

UPDATE#7: Mình đã add 3 bài VMPIZZA, VMSALARY, VMDAOBIT lên VOJ. Bài VMCUT sẽ được up lên sau.

UPDATE#8: Bảng rank đã có ở đây. Với những bạn nộp nhiều lần, kết quả cao nhất sẽ được tính.

Tổng kết 2 tuần ra mắt VNOI

Vậy là VNOI mới đã ra mắt các bạn được 2 tuần. Với hầu hết team admin bọn mình, đây là lần đầu bọn mình ra mắt 1 trang web có người dùng. Cá nhân mình thì trước khi làm VNOI mình cũng biết sơ sơ về lý thuyết làm web, nhưng kinh nghiệm thực tế thì cũng chưa có :D, nên vô cùng háo hức & lo lắng, như đang chăm sóc đứa con đầu lòng của mình vậy :v

1 chút tổng kết trong thời gian qua:

  • Sau 2 tuần, chúng ta có gần 450 user, hơn 250 bạn đã kết nối account VOJ.
  • Số lượt submit lên VOJ qua VNOI là chưa đến 400. Mình biết là hiện tại có rất nhiều lỗi khi submit qua VNOI như ko submit đc, submit đc nhưng ko đc chấm, kết quả chấm bị sai so với VOJ. Bọn mình đang cố gắng khắc phục những lỗi này. Hiện tại theo mình biết thì các bạn đã có thể submit bình thường. Nếu bạn nào vẫn còn bị lỗi thì hãy nói cho bọn mình ngay ở đây.
  • Số bài post trên VNOI chỉ hơn 300, trong đó chắc hầu hết là của admin :D 1 phần cũng có thể do bọn mình ko thân thiện lắm, ví dụ như ở đây. Mình hi vọng là các bạn dần dần sẽ bớt ngại, bớt sợ admin và nói nhiều hơn :D Các bạn nói ngây thơ hoặc linh tinh cũng đc, cơ mà cứ tự nhiên nói cho có không khí :)). Nếu các bạn để ý thì giờ nếu bị trừ cũng không ảnh hưởng gì (hiện tại, đóng góp không bị giảm và bạn còn có thể tự cộng cho chính mình nếu cảm thấy mình nói quá hay).
  • Hiện tại đã có hơn 20 bài viết trong Thư viện, và mình hi vọng con số đó sẽ còn tăng lên nhiều.
    • Rất cảm ơn 2 bạn ttdpro98 và only_love97 đã đóng góp rất nhiều bài viết cho Thư viện VNOI :D
  • Thỉnh thoảng server vẫn bị không vào được và hiện lỗi 500, 502. Thông thường là do bọn mình đang cập nhật tính năng mới cho VNOI, hoặc đang phải sửa sự cố khẩn cấp nào đó. Nếu gặp trường hợp này các bạn có thể quay lại trong 10' hoặc 15' sau, lúc đó hi vọng bọn mình đã kịp thời sửa :D
  • 1 vài tính năng mới:
    • Hình quả chuông bên góc phải trên: mỗi lần có người trả lời bài viết của bạn, bạn sẽ nhận được thông báo (hi vọng các bạn post bài nhiều hơn để test tính năng này :)))
    • Ở phần danh sách bài tập, đã có đánh dấu xanh với những bài bạn đã làm được.
  • 1 vài tính năng sắp ra mắt:
    • Màu user ở bảng rank, forum (hiện tại đã có ở bài viết trên trang chủ :D)
    • Ẩn các bài đã làm ở danh sách bài tập
    • [Hot] Xem chi tiết kết quả chấm bài VOJ (test nào AC, test nào WA, test nào TLE...). Dự kiến tính năng này sẽ ra mắt trong vòng 1 - 2 tháng nữa. Để bọn mình có thể test tính năng này khi ra mắt, hi vọng các bạn tích cực nộp bài qua VNOI hơn :p
  • Hôm mới ra mắt, forum có bị darksabers hack (post vài nghìn bài trong khoảng thời gian ngắn). Hiện bạn ý đã vào team admin và giúp bọn mình hoàn thiện trang web hơn :). Team làm web VNOI từ đầu đến giờ gồm có mình, iamquang95, khoaplt, tmbaodarksabers, net12k44, quochuu_96, infrmtcs và Hoàng Yến. Tuy nhiên hiện giờ có 1 số bạn đã không làm tiếp nữa, và mình đang tuyển thêm người mới. Nếu bạn nào muốn gia nhập team thì có thể nói với mình, nếu bạn không biết code web thì mình có thể dạy từ đầu.

Nếu có phát hiện bug, các bạn có thể trả lời vào ngay trong topic này hoặc ở đây :D

Rất cảm ơn các bạn,

RR

Cách đặt câu hỏi thông minh

    Khi đọc post của các bạn, mình cảm thấy cách 1 số bạn đặt câu hỏi trên diễn đàn hiện nay chưa hợp lý, làm cho người đọc rất khó để trả lời cho bạn, mình xin phép viết một chút về vấn đề này, đây hoàn toàn là những kinh nghiệm được đúc kết từ cá nhân do đó còn nhiều sai sót và rất mong nhận được sự góp ý từ các bạn.

“Sự thông minh của Bạn không hẳn ở chỗ trả lời được các câu hỏi mà thể hiện ở cách Bạn biết đặt ra những câu hỏi hay”

 

1> Sự quan trọng của cách đặt câu hỏi

    Câu hỏi được các bạn đặt ra và gửi lên diễn đàn với mục đích được người khác đọc, thảo luận và trả lời giúp bạn. Trong tường hợp xấu nhất là câu hỏi của bạn lửng lơ trên diễn đàn cả tuần mà không có một ai trả lời khúc mắc của bạn. Nguyên nhân thì có nhiều nguyên nhân từ khách quan cho đến chủ quan. Nhưng một trong những nguyên nhân khó tin những lại là một vấn đề nan giải đó là “Người đọc nhìn thấy cách hỏi của bạn đã không muốn đọc chứ chả nói là muốn trả lời giúp bạn”.

    Việc các bạn đặt câu hỏi “ngây thơ”, thiếu kinh nghiệm sẽ khiến cho người đọc cảm thấy khó chịu và không muốn trả lời. Những câu hỏi như thế nào là ngây thơ và thiếu kinh nghiệm? Đó là những câu hỏi mà bạn không tìm tòi kỹ lưỡng trước khi hỏi, ỷ lại và quyền được hỏi mà cứ hỏi đại, hỏi bừa mong được sự giúp đỡ. Kiểu này gọi là “Há miệng chờ sung”. Đây là kiểu chuyển giao toàn bộ trách nhiệm của người hỏi sang người trả lời. Ví dụ như

  • “Tại sao mình lại TLE nhỉ?” (Không đưa ra code của bạn thì sao mọi người biết bạn làm như thế nào mà TLE?),
  • “Bài này sol như thế nào nhỉ ?” (Bạn đã tìm hiểu kỹ lưỡng trước khi hỏi chưa? )

    Do đó việc gây ấn tượng tốt cho người đọc là việc tối quan trọng trong việc đặt câu hỏi. Vậy làm sao để đặt một câu hỏi hữu ích, gây thiện cảm cho người đọc, hãy theo dõi ở các phần ngay dưới đây.

2> Cách đặt câu hỏi hữu ích

Phần này gồm 2 phần con, trước khi đặt câu hỏi và cách đặt câu hỏi.

2.1> Trước khi đặt câu hỏi

    Việc trước tiên bạn cần làm trước khi hỏi đó là tìm hiểu và đào sâu tư duy về vấn đề cần hỏi để tránh được những câu hỏi thừa thãi, tốn thời gian của cả người hỏi lẫn trả lời. Cách tốt nhất để học đó là tự đưa ra câu hỏi cho bản thân mình và trả lời. Khi không thể tự trả lời được thì mới đặt câu hỏi nhằm kêu gọi sự giúp đỡ từ người khác.

2.2> Câu hỏi thông minh

  • Hỏi đúng chỗ: Câu hỏi của bạn phải được hỏi đúng vị trí mà nó thuộc về. Ví dụ như hỏi về thuật toán thì phải post trong mục “Thuật toán” chứ không thể post trong mục “Đóng góp ý kiến cho VNOI” được.

  • Không lặp lại câu hỏi: Những câu hỏi đã hỏi rồi thì không được hỏi lại, không được lập nhiều topic cho cùng một nội dung câu hỏi.

  • Tiêu đề mạch lạc rõ ràng: Tiêu đề là thứ đầu tiên mà người đọc nhìn vào, do đó tiêu đề mạch lạc rõ ràng sẽ tạo thiện cảm cho người trả lời.

  • Ngôn ngữ rõ ràng, mạch lạc: Viết tiếng Việt có dấu, trình bày gọn gàng khoa học.

  • Mô tả vấn đề đầy đủ thông tin: Cần mô tả thông tin một cách ngắn gọn súc tích mà vẫn đầy đủ thông tin.

    • Nói rõ về vấn đề bạn gặp phải

    • Trình bày tóm tắt sự cố gắng của bạn trong việc giải quyết vấn đề. Nhiều người khá ngại việc đọc code của người khác, do đó việc trình bày ngắn gọn thuật toán của bạn sẽ giúp ích cho người trả lời.

    • Cung cấp thông tin cho người đọc. Ví dụ như code của bạn.

  • Nói rõ mục đích hỏi: Hỏi về độ phức tạp, thuật toán, hay nhờ sửa code…

  • Không dùng các câu hỏi vu vơ không rõ mục đích: Kiểu như “bài này làm thế nào nhỉ”, “ai giúp mình bài này đi”, “ahihi bài này khó quá, chả biết làm sao, săm ba đi hép mi”...

  • Hành văn một cách lịch sự: Vì bạn là người cần sự trợ giúp, do đó phép lịch sự là điều cần thiết để giúp người đọc muốn giúp đỡ bạn hơn.

2.3> Ví dụ về câu hỏi thông minh

  • “Các bạn ơi bài này mình quy hoach động thử nhưng vẫn chỉ có 10đ, ai vào xem giúp mình với?”

    • Đây là một câu hỏi mà không hề được chuẩn bị trước, cũng như không có bất kỳ một sự cố gắng hay nỗ lực tìm câu trả lời của người hỏi. Do đó việc topic này bị “quả bơ” cả một năm trời là điều dễ hiểu

  • “Các bạn ơi, bài này mình đã thử cách làm quy hoạch động. Cách làm của mình như sau (nêu vắn tắt cách làm). Mình đã submit và nhận được kết quả WA. Mình đã test với dữ liệu lớn và nhỏ. Mình nghi ngờ phần công thức có vấn đề. Các bạn có thể xem giúp mình không. Đây là link code của mình (Chèn code ở dưới)”

    • Theo mình đây là một câu hỏi thông minh, viết bằng tiếng Việt có dấu, giọng điệu nhẹ nhàng, cung cấp đầy đủ thông tin thu hút người đọc cũng như đã có nỗ lực tìm lời giải đáp.

3> Tổng kết

    Qua bài viết ngắn ngủi của mình, mình hi vọng sẽ giúp các bạn phần nào đấy có thể đặt được các câu hỏi hữu ích hơn. Một phần giúp các bạn có thể có câu trả lời hiệu quả trong thời gian ngắn nhất cũng như giúp diễn đàn VNOI có những topic thảo luận có giá trị.

P/s: Cảm ơn anh Trung và anh Khánh đã giúp em hoàn thiện bài viết này.

                                                                                                                                                  Lê Hồng Quang