push intro

This commit is contained in:
Benjamin Qi 2020-06-28 21:09:52 -04:00
parent 402f356d0d
commit a63ae5bf0d
5 changed files with 50 additions and 44 deletions

View file

@ -7,8 +7,10 @@ description: Learn about the basic data types needed for competitive programming
## Additional Reading
- CPH 1.1 - 1.3
- [PAPC 2.3](http://www.csc.kth.se/~jsannemo/slask/main.pdf)
<resources>
<resource source="CPH" title="1.1 to 1.3 - Introduction" starred></resource>
<resource source="PAPS" title="2.3 - Variables & Types"></resource>
</resources>
## Data Types

View file

@ -48,12 +48,17 @@ In particular, contestants using Java should be familiar with roughly the first
## 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++
- If you use Sololearn, we recommend you finish everything up to (but not including) "More on Classes."
- [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++.
Use one of these 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">
@ -66,14 +71,14 @@ You do not need to learn pointers (for now). Knowledge of structs and classes is
<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>

View file

@ -27,19 +27,14 @@ You can share code with [pastebin](https://pastebin.com/) or [hastebin](https://
These often have C++ support already built-in.
- [Visual Studio Code](https://code.visualstudio.com/)
- lightweight, fast IDE, but requires some configuration
- see [PAPC Ch 2.1](http://www.csc.kth.se/~jsannemo/slask/main.pdf) for setup instructions
- [Visual Studio](https://visualstudio.microsoft.com/vs/)
- heavier cousin of VS Code, VS Code is better for competitive programming
- [Geany](https://www.geany.org/)
- Ben: I used at IOI
- [Codeblocks](http://www.codeblocks.org/)
- 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)
<resources>
<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>
<resource title="Geany" url="https://www.geany.org/" starred>Lightweight, frequently used at IOI.</resource>
<resource title="Visual Studio" url="https://visualstudio.microsoft.com/vs/">Heavier cousin of VS Code. VS Code is better for competitive programming.</resource>
<resource title="Codeblocks" url="http://www.codeblocks.org/">Bad on Mac.</resource>
<resource title="XCode" url="https://developer.apple.com/xcode/">Mac only.</resource>
<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>
</resources>
# Using Command Line
@ -47,21 +42,24 @@ Alternatively, run C++ from the command line and use a text editor of your choic
## Text Editors
- [Sublime Text 3](https://www.sublimetext.com/)
- fast, lightweight text editor for Windows, Mac, and Linux
- [Editing Build Settings](https://stackoverflow.com/questions/23789410/how-to-edit-sublime-text-build-settings)
- no need to do this if you just use command line to compile & run
- [FastOlympicCoding Addon](https://github.com/Jatana/FastOlympicCoding)
- 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)
- 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.
- [Atom](https://atom.io/)
- another text editor for Windows, Mac, and Linux from the makers of Github
- [Vim](https://www.vim.org/)
- classic text editor, usually preinstalled on Mac and Linux, and also available for Windows
- 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)
<resources>
<resource title="Sublime Text 3" url="https://www.sublimetext.com/" starred>Fast, lightweight. Keeps asking you to purchase a license ...</resource>
<resource title="Atom" url="https://atom.io/">From the makers of Github.</resource>
<resource title="Vim" url="https://www.vim.org/">Classic text editor, usually preinstalled on Linux.</resource>
</resources>
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).
### Sublime Text Notes
- [Editing Build Settings](https://stackoverflow.com/questions/23789410/how-to-edit-sublime-text-build-settings)
- no need to do this if you just use command line to compile & run
- [FastOlympicCoding Addon](https://github.com/Jatana/FastOlympicCoding)
- 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)
- 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

View file

@ -9,8 +9,8 @@ description: Measuring how long your algorithm takes to run in terms of the inpu
<resources>
<resource source="CPH" title="2 - Time Complexity"></resource>
<resource source="PAPS" title="5"></resource>
<resource source="CPH" title="2 - Time Complexity" starred>good intro and examples</resource>
<resource source="PAPS" title="5">more in-depth</resource>
</resources>
# Time Complexity

View file

@ -33,9 +33,10 @@ export const metadata = {
## Tutorial
<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="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>
## Problems