Online Judge
Competitive programming is a mind sport usually held over the Internet or a local network, involving participants trying to program according to provided specifications. Contestants are referred to as ''sport programmers''. Competitive programming is recognized and supported by several multinational software and Internet companies, such as Google and Facebook. A programming competition generally involves the host presenting a set of logical or mathematical problems, also known as puzzles, to the contestants (who can vary in number from tens or even hundreds to several thousands), and contestants are required to write computer programs capable of solving each problem. Judging is based mostly upon number of problems solved and time spent for writing successful solutions, but may also include other factors (quality of output produced, execution time, memory usage, program size, etc.) History One of the oldest contests known is the International Collegiate Programming Contest ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Algorithmic Game Theory
Algorithmic game theory (AGT) is an area in the intersection of game theory and computer science, with the objective of understanding and design of algorithms in strategic environments. Typically, in Algorithmic Game Theory problems, the input to a given algorithm is distributed among many players who have a personal interest in the output. In those situations, the agents might not report the input truthfully because of their own personal interests. We can see Algorithmic Game Theory from two perspectives: * ''Analysis'': given the currently implemented algorithms, analyze them using Game Theory tools (e.g., calculate and prove properties on their Nash equilibria, price of anarchy, and best-response dynamics) * ''Design'': design games that have both good game-theoretical and algorithmic properties. This area is called algorithmic mechanism design. On top of the usual requirements in classical algorithm design (e.g., ''polynomial-time running time'', ''good approximation ratio) ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
HackerRank
HackerRank is a technology company that focuses on competitive programming challenges for both consumers and businesses. Developers compete by writing programs according to provided specifications. HackerRank's programming challenges can be solved in a variety of programming languages (including Java, C++, PHP, Python, SQL, JavaScript) and span multiple computer science domains. HackerRank categorizes most of their programming challenges into a number of core computer science domains, including the management of databases, mathematics, artificial intelligence, among other subjects. When a programmer submits a solution to a programming challenge, their submission is scored on the accuracy of their output. Programmers are then ranked globally on the HackerRank leaderboard and earn badges based on their accomplishments, which is intended to drive competition among users. In addition to individual coding challenges, HackerRank also hosts contests (often referred to by HackerRank ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Facebook Hacker Cup
Facebook Hacker Cup (also known as the Meta Hacker Cup) is an annual international programming competition hosted and administered by Facebook. The competition began in 2011 as a means to identify top engineering talent for potential employment at Facebook. The competition consists of a set of algorithmic problems which must be solved in a fixed amount of time. Competitors may use any programming language and development environment to write their solutions. Facebook Hacker Cup is part of a circuit of annual international programming contests that includes Google Code Jam, Topcoder Open, and the ACM International Collegiate Programming Contest. It has been featured in articles from Bloomberg and Stack Overflow. Past winners * The 2020 Hacker Cup Finals and the 2021 Hacker Cup Finals were held in an online format in response to the COVID-19 pandemic. Results by country See also * Google Code Jam * Online judge * Topcoder Open Topcoder Open (TCO) is an annual de ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Codeforces
Codeforces is a website that hosts competitive programming contests. It is maintained by a group of competitive programmers from ITMO University led by Mikhail Mirzayanov. Since 2013, Codeforces claims to surpass Topcoder in terms of active contestants. As of 2018, it has over 600,000 registered users. Codeforces along with other similar websites are used by top sport programmers like Gennady Korotkevich, Petr Mitrichev, Benjamin Qi and Makoto Soejima, and by other programmers interested in furthering their careers. Overview The Codeforces platform is typically used when preparing for competitive programming contests and it offers the following features: * Short (2-hours) contests, called "Codeforces Rounds", held about once a week * Educational contests (2-2.5 hours, with 12 hours (24 hours before Round 45) hacking period), held 2-3 times per month; * Challenge/hack other contestants' solutions; * Solve problems from previous contests for training purposes; * "Polygon" fea ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
CodeChef
Code-Chef is an online educational program and competitive programming community of global programmers. Code-Chef started as an educational initiative in 2009 by Directi, an Indian software company. In 2020, it became owned by Unacademy. Along with monthly coding contests for the community, Code-Chef has initiatives for schools, colleges and women in competitive programming. It hosted the India regionals of the ICPC for college students, as well as for the International Olympiad in Informatics (IOI), for school students in India. Most parts of Code-Chef are available without charge, but the more advanced features require a monthly subscription, History In 2010, Directi launched Code-Chef to help programmers improve their problem-solving skills through active participation in programming contests. The goal was to strengthen problem-solving skills by fostering friendly competition and community engagement. In July 2010, the organization launched the "Go for Gold" initiative, ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
American Computer Science League
ACSL, or the American Computer Science League, is an international computer science competition among more than 300 schools. Originally founded in 1978 as the Rhode Island Computer Science League, it then became the New England Computer Science League. With countrywide and worldwide participants, it became the American Computer Science League. It has been in continuous existence since 1978. Each yearly competition consists of four contests. All students at each school may compete but the team score is the sum of the best 3 or 5 top scores. Each contest consists of two parts: a written section (called "shorts") and a programming section. Written topics tested include "what does this program do?", digital electronics, Boolean algebra, computer numbering systems, recursive functions, data structures (primarily dealing with heaps, binary search trees, stacks, and queues), lisp programming, regular expressions and Finite State Automata, bit string flicking, graph theory, ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
International Olympiad In Informatics
The International Olympiad in Informatics (IOI) is an annual competitive programming and one of the International Science Olympiads for secondary school students. It is the second largest science olympiad, after International Mathematical Olympiad, in terms of number of participating countries (88 at IOI 2022). The first IOI was held in 1989 in Pravetz, Bulgaria. The contest consists of two days of computer programming/coding and problem-solving of algorithmic nature. To deal with problems involving very large amounts of data, it is necessary to have not only programmers, "but also creative coders, who can dream up what it is that the programmers need to tell the computer to do. The hard part isn't the programming, but the mathematics underneath it." Students at the IOI compete on an individual basis, with up to four students competing from each participating country (with 81 countries in 2012). Students in the national teams are selected through national computing contests, suc ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Programming Language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming language is usually split into the two components of syntax (form) and semantics (meaning), which are usually defined by a formal language. Some languages are defined by a specification document (for example, the C programming language is specified by an ISO Standard) while other languages (such as Perl) have a dominant Programming language implementation, implementation that is treated as a reference implementation, reference. Some languages have both, with the basic language defined by a standard and extensions taken from the dominant implementation being common. Programming language theory is the subfield of computer science that studies the design, implementation, analysis, characterization, and classification of programming lan ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing calculations and data processing. More advanced algorithms can perform automated deductions (referred to as automated reasoning) and use mathematical and logical tests to divert the code execution through various routes (referred to as automated decision-making). Using human characteristics as descriptors of machines in metaphorical ways was already practiced by Alan Turing with terms such as "memory", "search" and "stimulus". In contrast, a heuristic is an approach to problem solving that may not be fully specified or may not guarantee correct or optimal results, especially in problem domains where there is no well-defined correct or optimal result. As an effective method, an algorithm can be expressed within a finite amount of space ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Artificial Intelligence
Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech recognition, computer vision, translation between (natural) languages, as well as other mappings of inputs. The ''Oxford English Dictionary'' of Oxford University Press defines artificial intelligence as: the theory and development of computer systems able to perform tasks that normally require human intelligence, such as visual perception, speech recognition, decision-making, and translation between languages. AI applications include advanced web search engines (e.g., Google), recommendation systems (used by YouTube, Amazon and Netflix), understanding human speech (such as Siri and Alexa), self-driving cars (e.g., Tesla), automated decision-making and competing at the highest level in strategic game systems (such as chess and G ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Constraint Programming
Constraint programming (CP) is a paradigm for solving combinatorial problems that draws on a wide range of techniques from artificial intelligence, computer science, and operations research. In constraint programming, users declaratively state the constraints on the feasible solutions for a set of decision variables. Constraints differ from the common primitives of imperative programming languages in that they do not specify a step or sequence of steps to execute, but rather the properties of a solution to be found. In addition to constraints, users also need to specify a method to solve these constraints. This typically draws upon standard methods like chronological backtracking and constraint propagation, but may use customized code like a problem specific branching heuristic. Constraint programming takes its root from and can be expressed in the form of constraint logic programming, which embeds constraints into a logic program. This variant of logic programming is due to ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |