A Russian Competitive Programming Website

Codeforces

2023.03.31,lectured by Josh Dai

  • What is competitive programming?
  • Brief introduction of codeforces
  • Try on one of the problems
  • Summary and reflection

Outline

  • edition (n.) 版本
  • distribute (v.) 分發、分佈
  • irrespective (adj.) 不管
  • inevitably (adv.) 不可避免地
  • specification (n.) 格式
  • consecutive (adj.) 連續的

Vocabularies

 A mind sport usually held over the Internet or a local network, involving participants trying to program according to provided specifications.

Competitive Programming

One of the oldest contests known is the International Collegiate Programming Contest (ICPC) which originated in the 1970s, and has grown to include 88 countries in its 2011 edition.

From 1990 to 1994, Owen Astrachan, Vivek Khera and David Kotz ran one of the first distributed, internet-based programming contests inspired by the ICPC.

Interest in competitive programming has grown extensively since 2000 to tens of thousands of participants (see Notable competitions), and is strongly connected to the growth of the Internet, which facilitates holding international contests online, eliminating geographical problems.

History

rewriting and excerpting from wikipedia

The aim of competitive programming is to write source code of computer programs which are able to solve given problems. A vast majority of problems appearing in programming contests are mathematical or logical in nature.

Typical such tasks belong to one of the following categories: combinatorics, number theory, graph theory, algorithmic game theory, computational geometry, string analysis and data structures. (組合學、數論、圖論、博弈論、計算幾何、字串分析、資料結構)

Aim

rewriting and excerpting from wikipedia

Irrespective of the problem category, the process of solving a problem can be divided into two broad steps: constructing an efficient algorithm, and implementing the algorithm in a suitable programming language (the set of programming languages allowed varies from contest to contest). These are the two most commonly tested skills in programming competitions.

Process

rewriting and excerpting from wikipedia

In most contests, the judging is done automatically by host machines. Every solution submitted by a contestant is run on the judge against several sets of test cases. 

 

The host machine would return the score you get once you submit your source code, generally from 0 to 100, the score is based on how you perform on this problem including correctness, execution time, and memory occupied.

How a competition works

rewriting and excerpting from wikipedia

International contests

international olympiad in informatics

ACM & ICPC

Code Chef

A fascinating programming contest website.

Codeforces

Codeforces was created by a group of competitive programmers from Saratov State University led by Mike Mirzayanov. It was originally created for those interested in solving tasks and taking part in competitions The first Codeforces Round was held on February 19, 2010, with 175 participants. As of the end of August 2022 over 800 rounds were held, with over 9000 registered competitors per round on average. Before 2012 Codeforces Rounds were titled "Codeforces Beta Rounds" to indicate that the system was still under development.

Origin

How can codeforces help us?

Contests

you can compete with excellent programmers around the world.

Train

Each problem has its own solution and totural, you can learn new algorithms on codeforces

Resume
Codeforces rating is credible, you can out on your resume.

Gennady Korotkevich is a Belarusian competitive programmer who has won major international competitions since the age of 11, as well as numerous national competitions. His top accomplishments include six consecutive gold medals in the International Olympiad in Informatics as well as the world championship in the 2013 and 2015 International Collegiate Programming Contest World Finals.

Gennady Korotkevich

Codeforces Round 847 (Div. 3) B.Taisia and Dice

Codeforces Round 847

You need to generate an array thar contains n integrities. This array represents the result of rolling the dice n times.

In short

Can Chat GPT solve this problem accurately?

  • Programming and us
  • Artificial Intelligence and our future
  • Programming is a skill to "communicate" with machines
  • It can also be a powerful tool
  • Don't be afraid of programming

Programming and us

  • AI is inevitably one of the essential tools in the future.
  • Whether it will replace human is still unknown.
  • Do your best to make yourself unique.

AI and our future

Thanks for Listening

Have a nice day.