Codeforces là gì?
Codeforces là một trang web tổ chức các cuộc thi lập trình cạnh tranh. Nó được duy trì bởi một nhóm lập trình viên cạnh tranh từ Đại học ITMO, do Mikhail Mirzayanov đứng đầu. Kể từ năm 2013, Codeforces tuyên bố vượt qua Topcode về số lượng thí sinh. Tính đến năm 2018, nó có hơn 600.000 người dùng đã đăng ký. Codeforces cùng với các trang web tương tự khác được sử dụng bởi những lập trình viên hàng đầu như Gennady Korotkevich, Petr Mitrichev và Makoto Soejima, cũng như các lập trình viên quan tâm đến việc phát triển sự nghiệp của họ.
10 mẹo hay nhất để bắt đầu với Codeforces
Không cần phải nói thêm về tầm quan trọng của việc lập trình cạnh tranh trong hành trình của bất kỳ kỹ sư phần mềm nào. Hầu hết những người mới bắt đầu không biết cách sử dụng Codeforces và cuối cùng lãng phí rất nhiều thời gian vào nó. Hầu hết họ cũng bị mất động lực khi không thể giải quyết vấn đề và cuối cùng với suy nghĩ rằng mình không có khả năng làm được việc đó.
Codeforces là một trong những nền tảng tốt nhất để viết code cạnh tranh và thường được biết đến với các thử thách/cuộc thi ngắn nơi những lập trình viên từ mọi nơi trên thế giới tham gia. Tại đây bạn có thể thực hành các vấn đề từ cấp độ mới bắt đầu đến cấp độ rất nâng cao. Nhưng hầu hết mọi người không biết cách bắt đầu với Codeforces và cách sử dụng nó một cách đầy đủ.
Vì vậy, đây là một số lời khuyên có thể làm theo:
- Nếu bạn là người mới bắt đầu tham gia viết code cạnh tranh thì đừng trực tiếp tham gia vào các cuộc thi. Đầu tiên, hãy vào tùy chọn PROBLEMSET và đặt mức độ khó từ 800-1000. Sau đó, tất cả các bài toán ở mức độ khó đó sẽ hiện ra trước mắt bạn. Hãy bắt đầu giải những bài toán đó! Sau đó giải ít nhất 30-40 bài toán để làm quen với loại câu hỏi và nền tảng. Ngay khi đã quen với những vấn đề đó, bạn có thể bắt đầu với các cuộc thi.
- Hãy thử đưa ra tất cả các cuộc thi (mỗi tuần có 2-3 cuộc thi). Ban đầu, có thể bạn giải được 1, 2 bài toán trong cuộc thi, hoặc cũng có thể bạn không giải được dù chỉ một bài, nhưng đừng đánh mất hy vọng và tiếp tục luyện tập các bài toán đó. Bạn không thể trở thành lập trình viên “hàng đầu” trong 1 hoặc 2 tháng. Việc này đòi hỏi tính kiên trì và thực hành nhiều.
- Vì các cuộc thi có thời gian giới hạn nên bạn cũng phải tập trung vào chúng và cố gắng giải quyết vấn đề nhanh nhất có thể.
- Chỉ xem các bài editorial nếu bạn đã dành đủ thời gian cho vấn đề đó và đừng xem hết bài. Trước tiên hãy xem các tag và sau đó bắt đầu suy nghĩ lại về vấn đề đó. Nếu bạn vẫn không biết cách giải quyết câu hỏi thì hãy quay lại bài để đọc tiếp.
- Sau mỗi cuộc thi hãy cố gắng giải quyết các vấn đề còn lại. Việc này thực sự quan trọng vì bạn sẽ có thể học được nhiều khái niệm và thủ thuật mới từ nó. Dành cho những ai chưa biết, up-solution có nghĩa là giải quyết những vấn đề còn lại mà bạn chưa giải được trong suốt cuộc thi.
- Sau khi giải quyết bất kỳ vấn đề thực hành nào, hãy xem xét giải pháp của những người dùng khác. Bạn sẽ học được các cách tiếp cận khác nhau và dễ dàng từ những giải pháp đó, điều này chắc chắn sẽ giúp ich cho bạn khi xử lý các vấn đề trong tương lai.
- Tiếp tục tăng độ khó của các câu hỏi ngay khi bạn đã tự tin giải được các câu hỏi ở một mức độ khó cụ thể.
- Bạn cũng có thể thêm các tag nếu bạn muốn luyện tập các bài toán liên quan đến một chủ đề cụ thể.
- Khi bạn giải quyết được nhiều vấn đề hơn, sự tự tin của bạn sẽ ngày càng tăng lên và nếu bạn kiên nhẫn, chắc chắn bạn sẽ trở thành một lập trình viên hàng đầu.
- Cuối cùng, HÃY KIÊN ĐỊNH và TIẾP TỤC THỰC HÀNH.
Mẹo quan trọng:
Một điều quan trọng nhất cần nhớ là – đừng bao giờ đánh mất sự tự tin vì đôi khi bạn có thể gặp phải một số câu hỏi khó và không biết cách giải quyết, nhưng đừng bao giờ sợ hãi chúng. Dành đủ thời gian để cố gắng giải quyết vấn đề và chú ý đến các bài editorial hoặc nhờ sự giúp đỡ của cấp trên nếu bạn gặp khó khăn trong một vấn đề cụ thể. Nhưng đừng mất động lực và đừng bao giờ nghĩ rằng bạn không thể làm được các câu hỏi vì không gì là không thể.
Về các cuộc thi:
Trong Codeforces, các cuộc thi diễn ra rất thường xuyên. Có 2-3 cuộc thi mỗi tuần và thời lượng của mỗi cuộc thi chủ yếu là 2-3 giờ. Một số cuộc thi cũng có sẵn cho bạn tùy theo thứ hạng. Nếu bạn là người mới bắt đầu thì bạn có thể đưa ra các cuộc thi được xếp hạng cho Division 2, Division 3 và Division 4. Xếp hạng của bạn sẽ tăng hoặc giảm dựa trên các vấn đề bạn giải quyết trong mỗi cuộc thi và thời gian bạn xử lý nó. Bạn càng dành ít thời gian cho mỗi vấn đề thì điểm xếp hạng của bạn càng cao.