push intro
This commit is contained in:
parent
402f356d0d
commit
a63ae5bf0d
5 changed files with 50 additions and 44 deletions
|
@ -7,8 +7,10 @@ description: Learn about the basic data types needed for competitive programming
|
||||||
|
|
||||||
## Additional Reading
|
## Additional Reading
|
||||||
|
|
||||||
- CPH 1.1 - 1.3
|
<resources>
|
||||||
- [PAPC 2.3](http://www.csc.kth.se/~jsannemo/slask/main.pdf)
|
<resource source="CPH" title="1.1 to 1.3 - Introduction" starred></resource>
|
||||||
|
<resource source="PAPS" title="2.3 - Variables & Types"></resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
## Data Types
|
## Data Types
|
||||||
|
|
||||||
|
|
|
@ -48,12 +48,17 @@ In particular, contestants using Java should be familiar with roughly the first
|
||||||
|
|
||||||
## Resources for Learning How to Code
|
## Resources for Learning How to Code
|
||||||
|
|
||||||
[Sololearn](https://www.sololearn.com/) has courses on C++, Java, and Python. You don't have to complete the full course.
|
|
||||||
|
|
||||||
### C++
|
### C++
|
||||||
|
|
||||||
- If you use Sololearn, we recommend you finish everything up to (but not including) "More on Classes."
|
Use one of these resources (or find your own) to learn C++.
|
||||||
- [Ch 2 of PAPS](http://www.csc.kth.se/~jsannemo/slask/main.pdf) also contains a C++ tutorial. Use one of these two resources (or find your own) to learn C++.
|
|
||||||
|
<resources>
|
||||||
|
<resource source="Sololearn" title="C++" url="https://www.sololearn.com/Play/CPlusPlus" starred>also courses for Java, Python</resource>
|
||||||
|
<resource source="PAPS" title="2 - Programming in C++" starred></resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
|
If you use Sololearn, we recommend you finish everything up to (but not including) "More on Classes." You don't have to complete the full course.
|
||||||
|
|
||||||
<info-block title="Pro Tip">
|
<info-block title="Pro Tip">
|
||||||
|
|
||||||
|
@ -66,14 +71,14 @@ You do not need to learn pointers (for now). Knowledge of structs and classes is
|
||||||
|
|
||||||
<optional-content>
|
<optional-content>
|
||||||
|
|
||||||
Note: We don't agree with all views expressed in the links below. Let us know what works (or doesn't) for you.
|
Let us know what works (or doesn't) for you.
|
||||||
|
|
||||||
|
<resources>
|
||||||
|
<resource source="CodeSignal" title="CodeSignal" url="https://codesignal.com/">can practice basics with "Arcade," "Interview Practice"</resource>
|
||||||
|
<resource source="Philippines OI" title="Prepare" url="https://noi.ph/prepare/">lots of links!</resource>
|
||||||
|
<resource source="IOI" title="Getting Started" url="https://ioinformatics.org/page/getting-started/14">not so up to date</resource>
|
||||||
|
<resource source="Quora" title="Joshua Pan - Schedule for Beginners" url="https://www.quora.com/What-is-a-good-schedule-to-follow-for-becoming-better-at-competitive-programming-for-beginners">generally good, although CSES (see resources) is definitely a better place to start than USACO Training or Codechef</resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
- [CodeSignal](https://codesignal.com/)
|
|
||||||
- can practice basics with "Arcade," "Interview Practice"
|
|
||||||
- [Philippines OI: Prepare](https://noi.ph/prepare/)
|
|
||||||
- lots of links!
|
|
||||||
- [IOI - Getting Started](https://ioinformatics.org/page/getting-started/14)
|
|
||||||
- not so up to date
|
|
||||||
- [Quora - Schedule for Beginners (Joshua Pan)](https://www.quora.com/What-is-a-good-schedule-to-follow-for-becoming-better-at-competitive-programming-for-beginners)
|
|
||||||
|
|
||||||
</optional-content>
|
</optional-content>
|
|
@ -27,19 +27,14 @@ You can share code with [pastebin](https://pastebin.com/) or [hastebin](https://
|
||||||
|
|
||||||
These often have C++ support already built-in.
|
These often have C++ support already built-in.
|
||||||
|
|
||||||
- [Visual Studio Code](https://code.visualstudio.com/)
|
<resources>
|
||||||
- lightweight, fast IDE, but requires some configuration
|
<resource title="Visual Studio Code" url="https://code.visualstudio.com/" starred>Lightweight, fast IDE, but requires some configuration. See <a href="http://www.csc.kth.se/~jsannemo/slask/main.pdf">PAPC 2.1</a> for setup instructions.</resource>
|
||||||
- see [PAPC Ch 2.1](http://www.csc.kth.se/~jsannemo/slask/main.pdf) for setup instructions
|
<resource title="Geany" url="https://www.geany.org/" starred>Lightweight, frequently used at IOI.</resource>
|
||||||
- [Visual Studio](https://visualstudio.microsoft.com/vs/)
|
<resource title="Visual Studio" url="https://visualstudio.microsoft.com/vs/">Heavier cousin of VS Code. VS Code is better for competitive programming.</resource>
|
||||||
- heavier cousin of VS Code, VS Code is better for competitive programming
|
<resource title="Codeblocks" url="http://www.codeblocks.org/">Bad on Mac.</resource>
|
||||||
- [Geany](https://www.geany.org/)
|
<resource title="XCode" url="https://developer.apple.com/xcode/">Mac only.</resource>
|
||||||
- Ben: I used at IOI
|
<resource title="CLion" url="https://www.jetbrains.com/clion/">Requires a license, but <a href="https://www.jetbrains.com/community/education/#students">free for students</a>.</resource>
|
||||||
- [Codeblocks](http://www.codeblocks.org/)
|
</resources>
|
||||||
- bad on Mac
|
|
||||||
- [XCode](https://developer.apple.com/xcode/)
|
|
||||||
- Mac only
|
|
||||||
- [CLion](https://www.jetbrains.com/clion/)
|
|
||||||
- requires a license, but [free for students](https://www.jetbrains.com/community/education/#students)
|
|
||||||
|
|
||||||
# Using Command Line
|
# Using Command Line
|
||||||
|
|
||||||
|
@ -47,21 +42,24 @@ Alternatively, run C++ from the command line and use a text editor of your choic
|
||||||
|
|
||||||
## Text Editors
|
## Text Editors
|
||||||
|
|
||||||
- [Sublime Text 3](https://www.sublimetext.com/)
|
<resources>
|
||||||
- fast, lightweight text editor for Windows, Mac, and Linux
|
<resource title="Sublime Text 3" url="https://www.sublimetext.com/" starred>Fast, lightweight. Keeps asking you to purchase a license ...</resource>
|
||||||
- [Editing Build Settings](https://stackoverflow.com/questions/23789410/how-to-edit-sublime-text-build-settings)
|
<resource title="Atom" url="https://atom.io/">From the makers of Github.</resource>
|
||||||
- no need to do this if you just use command line to compile & run
|
<resource title="Vim" url="https://www.vim.org/">Classic text editor, usually preinstalled on Linux.</resource>
|
||||||
- [FastOlympicCoding Addon](https://github.com/Jatana/FastOlympicCoding)
|
</resources>
|
||||||
- see "Debugging" for another way to stress test
|
|
||||||
- [Sublime Snippets](https://www.granneman.com/webdev/editors/sublime-text/top-features-of-sublime-text/quickly-insert-text-and-code-with-sublime-text-snippets)
|
Vim is probably the easiest way to print syntax-highlighted code on Mac, see the response to [this post](https://stackoverflow.com/questions/1656914/printing-code-with-syntax-highlighting).
|
||||||
- Ben - I use to insert templates
|
|
||||||
- [Symlink](https://www.sublimetext.com/docs/3/osx_command_line.html)
|
### Sublime Text Notes
|
||||||
- Ben - Using `/usr/local/bin/subl` instead of `~/bin/subl` worked for me on OS X Mojave.
|
|
||||||
- [Atom](https://atom.io/)
|
- [Editing Build Settings](https://stackoverflow.com/questions/23789410/how-to-edit-sublime-text-build-settings)
|
||||||
- another text editor for Windows, Mac, and Linux from the makers of Github
|
- no need to do this if you just use command line to compile & run
|
||||||
- [Vim](https://www.vim.org/)
|
- [FastOlympicCoding Addon](https://github.com/Jatana/FastOlympicCoding)
|
||||||
- classic text editor, usually preinstalled on Mac and Linux, and also available for Windows
|
- see "Debugging" for another way to stress test
|
||||||
- probably easiest way to print syntax-highlighted code on Mac, see the response to [this post](https://stackoverflow.com/questions/1656914/printing-code-with-syntax-highlighting)
|
- [Sublime Snippets](https://www.granneman.com/webdev/editors/sublime-text/top-features-of-sublime-text/quickly-insert-text-and-code-with-sublime-text-snippets)
|
||||||
|
- Ben - I use to insert templates
|
||||||
|
- [Symlink](https://www.sublimetext.com/docs/3/osx_command_line.html)
|
||||||
|
- Ben - Using `/usr/local/bin/subl` instead of `~/bin/subl` worked for me on OS X Mojave.
|
||||||
|
|
||||||
## On Linux
|
## On Linux
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ description: Measuring how long your algorithm takes to run in terms of the inpu
|
||||||
|
|
||||||
|
|
||||||
<resources>
|
<resources>
|
||||||
<resource source="CPH" title="2 - Time Complexity"></resource>
|
<resource source="CPH" title="2 - Time Complexity" starred>good intro and examples</resource>
|
||||||
<resource source="PAPS" title="5"></resource>
|
<resource source="PAPS" title="5">more in-depth</resource>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
||||||
# Time Complexity
|
# Time Complexity
|
||||||
|
|
|
@ -33,9 +33,10 @@ export const metadata = {
|
||||||
## Tutorial
|
## Tutorial
|
||||||
|
|
||||||
<resources>
|
<resources>
|
||||||
<resource source="anudeep2011" title="HLD" url="https://blog.anudeep2011.com/heavy-light-decomposition/" starred>explains what HLD is (but incomplete & overly complicated code)</resource>
|
<resource source="cp-algo" title="HLD" url="https://cp-algorithms.com/graph/hld.html" starred> </resource>
|
||||||
<resource source="CF" title="AI-Cash - HLD Implementation" url="blog/entry/22072" starred></resource>
|
<resource source="CF" title="AI-Cash - HLD Implementation" url="blog/entry/22072" starred></resource>
|
||||||
<resource source="CF" title="adamant - Easiest HLD with subtree queries" url="blog/entry/53170" starred></resource>
|
<resource source="CF" title="adamant - Easiest HLD with subtree queries" url="blog/entry/53170" starred></resource>
|
||||||
|
<resource source="anudeep2011" title="HLD" url="https://blog.anudeep2011.com/heavy-light-decomposition/">explains what HLD is (but incomplete & overly complicated code)</resource>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
||||||
## Problems
|
## Problems
|
||||||
|
|
Reference in a new issue