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 ## 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

View file

@ -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>

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. 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

View file

@ -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

View file

@ -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