├── 2015 ├── COMPETITIVE.md ├── PROJECTS.md └── Problemset.md └── README.md /2015/COMPETITIVE.md: -------------------------------------------------------------------------------- 1 | # Sports Programming syllabus 2 | 3 | ## Number Theory 4 | 1. Modular arithmetic, Prime factorization, Sieve 5 | 2. Fast exponentiation and fast matrix exponentiation 6 | 3. GCD / LCM 7 | 4. Euler’s Totient function - how and where to use 8 | - Fermat's Little Theorem 9 | - Generalized to Euler's Theorem (useful to compute modular multiplicative inverse) 10 | 5. Fibonacci 11 | - The Golden Ratio 12 | - Lucas Numbers 13 | - Fibonacci Coding 14 | 6. Polygonal numbers, Tetrahedral numbers and similar ideas 15 | 7. Subsets of a set - representation with bit-masks 16 | 8. Chinese Remainder Theorem 17 | 9. Basic combinatorics and counting 18 | 10. Problems
19 | - [Spoj Archive](http://www.spoj.com/problems/tag/number-theory) 20 | - [Codeforces Archive - sorted in order of difficulty](http://codeforces.com/problemset/tags/number%20theory?order=BY_SOLVED_DESC) 21 | - [Project Euler Problems - Hackerrank](https://www.hackerrank.com/contests/projecteuler/challenges) 22 | - [FIBOSUM](http://www.spoj.com/problems/FIBOSUM/), [LCMSUM](http://www.spoj.com/problems/LCMSUM/), [AMR15B](https://www.codechef.com/ACMAMR15/problems/AMR15B), [PE25](https://www.hackerrank.com/contests/projecteuler/challenges/euler025), [472A](http://codeforces.com/problemset/problem/472/A), [456B](http://codeforces.com/problemset/problem/456/B), [576A](http://codeforces.com/problemset/problem/576/A), [547C](http://codeforces.com/problemset/problem/547/C), [584D](http://codeforces.com/problemset/problem/584/D), [585C](http://codeforces.com/problemset/problem/585/C), [582C](http://codeforces.com/problemset/problem/582/C), [585E](http://codeforces.com/problemset/problem/585/E), [575H](http://codeforces.com/problemset/problem/575/H), [TCO1512](https://community.topcoder.com/stat?c=problem_statement&pm=14044), [TCO1513](https://community.topcoder.com/stat?c=problem_statement&pm=13986), [SRM66712](https://community.topcoder.com/stat?c=problem_statement&pm=13643), [SRM66812](https://community.topcoder.com/stat?c=problem_statement&pm=13983) 23 | 11. Further reading - [Wiki](https://en.wikipedia.org/wiki/List_of_recreational_number_theory_topics) 24 | 25 | ## Dynamic Programming 26 | 1. States, base criterion and recursion equations 27 | 2. Estimating and recognizing dimensions 28 | 3. Iterative vs (Recursion + Memoization) solutions 29 | 4. Edit Distance, LCS - extend to 3D 30 | 5. With bitmasking - [example problem](http://www.spoj.com/problems/COURIER/) 31 | 6. With combinatorics - [example problem 1](https://www.codechef.com/IPC15P1B/problems/ZGSEQ), [example problem 2](https://community.topcoder.com/stat?c=problem_statement&pm=7261&rd=10011) 32 | 7. Problems 33 | - [Spoj Archive - DP](http://www.spoj.com/problems/tag/dynamic-programming) 34 | - [Spoj Archive - Bitmasks](http://www.spoj.com/problems/tag/bitmasks) 35 | - [Codeforces Archive - sorted difficulty order](http://codeforces.com/problemset/tags/dp?order=BY_SOLVED_DESC) 36 | - [Topcoder Archive](https://community.topcoder.com/tc?module=ProblemArchive&cat=Dynamic+Programming) 37 | 38 | ## Graphs 39 | 1. Representation and definitions 40 | - Nodes, Edges, Weights 41 | - Paths, walks, circuits 42 | - Adjacency lists and matrices 43 | - Trees 44 | 2. Recognizing problems 45 | - Intervals 46 | - Roads and cities 47 | - Finding paths and distances 48 | 3. Problems 49 | - Coloring 50 | - Connected components 51 | - [Spoj Archive](http://www.spoj.com/problems/tag/graph-theory) 52 | - [Codeforces Archive - sorted difficulty order](http://codeforces.com/problemset/tags/graphs?order=BY_SOLVED_DESC) 53 | - [Topcoder Archive](https://community.topcoder.com/tc?module=ProblemArchive&cat=Graph+Theory) 54 | 55 | ## More Data Structures 56 | 1. Heaps - Priority queues 57 | 2. Binary Indexed Tree / Fenwick Tree 58 | 3. Segment Tree 59 | - Lazy propogation 60 | 4. Tries, Suffix Arrays 61 | 5. Persistent data structures 62 | - Persistent Linked Lists 63 | - Persistent Segment Trees 64 | - Problems 65 | - [DQUERY](http://www.spoj.com/problems/DQUERY/) (can also be done via offline processing) 66 | - [COT](http://www.spoj.com/problems/COT/) 67 | - [MKTHNUM](http://www.spoj.com/problems/MKTHNUM) 68 | 69 | ## More Algorithms 70 | 1. KMP Algorithm 71 | 2. LRU 72 | 3. Sqrt decomposition 73 | 4. Heavy-light decomposition 74 | 75 | ## Practice Problems 76 | - To be listed ... -------------------------------------------------------------------------------- /2015/PROJECTS.md: -------------------------------------------------------------------------------- 1 | Some random ideas for projects for WCC 2015. List will be updated as and when required. 2 | 3 | ## Sandbox to run a binary securely 4 | 5 | This would involve all the POSIX APIs to implement a secure environment to run any user submitted binary. It should be able to place customizable limits on CPU time, memory usage, IO operations, etc. Few use cases would be to run user submitted codes on online judges or AI games. It could also be used for loading dynamic libraries in a secure sandbox. 6 | 7 | ## 2D Game Engine 8 | 9 | A 2D game engine, that has knowledge about sprites, objects and backgrounds. It expose simple APIs for setting up the game loop, getting keyboard or mouse events, animations, sound and collision detection. Many may prefer Java for this, but any language can be used. For further exploration and learning take a look into how you can improve your game engine to use OpenGL to draw stuff on screen. 10 | -------------------------------------------------------------------------------- /2015/Problemset.md: -------------------------------------------------------------------------------- 1 | ## Number Theory 2 | ### Resources 3 | 1. [Fermat's Little Theorem](https://www.artofproblemsolving.com/wiki/index.php?title=Fermat%27s_Little_Theorem#Proof_3_.28Combinatorics.29) 4 | 2. [Euler's Totient Function](https://www.artofproblemsolving.com/wiki/index.php?title=Euler%27s_totient_function) 5 | 6 | ### Problems discussed in the session 7 | 1. [STARSBC](http://www.spoj.com/problems/STARSBC/) 8 | 2. [PE25](https://www.hackerrank.com/contests/projecteuler/challenges/euler025) 9 | 10 | ### Practice problems 11 | 1. [PRIME1](http://www.spoj.com/problems/PRIME1/) 12 | 2. [DIVSUM](http://www.spoj.com/problems/DIVSUM/) 13 | 3. [ETF](http://www.spoj.com/problems/ETF/) 14 | 4. [FIBOSUM](http://www.spoj.com/problems/FIBOSUM/) 15 | 5. [LCMSUM](http://www.spoj.com/problems/LCMSUM/) 16 | 6. [AMR15B](https://www.codechef.com/ACMAMR15/problems/AMR15B) 17 | 18 | ## Graphs 19 | ### Resources 20 | 1. [Graphs 1](https://www.topcoder.com/community/data-science/data-science-tutorials/introduction-to-graphs-and-their-data-structures-section-1/) 21 | 2. [Graphs 2](https://www.topcoder.com/community/data-science/data-science-tutorials/introduction-to-graphs-and-their-data-structures-section-2/) 22 | 3. [Graphs 3](https://www.topcoder.com/community/data-science/data-science-tutorials/introduction-to-graphs-and-their-data-structures-section-3/) 23 | 24 | ### Problems 25 | 1. [ABCPATH](http://spoj.com/problems/ABCPATH) 26 | 2. [PPATH](http://www.spoj.com/problems/PPATH/) 27 | 3. [BUGLIFE](http://www.spoj.com/problems/BUGLIFE/) 28 | 4. [MST](http://www.spoj.com/problems/MST/) 29 | 5. [Cyclist](https://www.codechef.com/problems/CYCLIST) 30 | 6. [TOUR](http://www.spoj.com/problems/TOUR/) 31 | 7. [Road Decoration](https://www.codechef.com/problems/AMR14B) 32 | 33 | ## Dynamic Programming 34 | ### Problems 35 | #### Generic 36 | 1. [EELCS](http://www.spoj.com/problems/EELCS/) - Longest Common Subsequence 37 | 1. [MMAXPER](http://www.spoj.com/problems/MMAXPER/en/) 38 | 1. [MARTIAN](http://www.spoj.com/problems/MARTIAN/) 39 | 1. [ELIS](http://www.spoj.com/problems/ELIS/) - Longest Increasing Subsequence 40 | 1. [LIS2](http://www.spoj.com/problems/LIS2/) - Modified Longest Increasing Subsequence 41 | 1. [StarAdventure](https://community.topcoder.com/stat?c=problem_statement&pm=2940&rd=5854) 42 | 1. [MiniPaint](https://community.topcoder.com/stat?c=problem_statement&pm=1996&rd=4710) 43 | 1. [Special Coprime Numbers](https://www.hackerearth.com/problem/algorithm/samu-and-special-coprime-numbers/) - Digit DP 44 | 1. [gNumbers](https://code.google.com/codejam/contest/10214486/dashboard#s=p2) - 2 player game 45 | 46 | #### With Bitmasks 47 | 1. [Kefa and Dishes](http://codeforces.com/problemset/problem/580/D) 48 | 1. [COURIER](http://www.spoj.com/problems/COURIER/) 49 | 1. [TSHIRTS](https://www.codechef.com/problems/TSHIRTS) 50 | 1. [Cycling](https://www.hackerrank.com/contests/snapdeal-codesprint/challenges/cycling) 51 | 52 | #### With Trees 53 | 1. [CSTRIKE5](https://www.codechef.com/COSE2015/problems/CSTRIKE5) 54 | 1. [CHEFPRES](https://www.codechef.com/problems/CHEFPRES) 55 | 1. [CF 431C](http://codeforces.com/problemset/problem/431/C) 56 | 1. [CF 161D](http://codeforces.com/problemset/problem/161/D) 57 | 1. [Magic Spells](https://www.hackerrank.com/contests/morgan-stanley-2015/challenges/nitish-and-magic-spells) 58 | 59 | #### With Hashing 60 | 1. [DSUBSEQ](http://www.spoj.com/problems/DSUBSEQ/) 61 | 1. [ADVEDIST](http://www.spoj.com/problems/ADVEDIST/) 62 | 1. [Soft Drinks](https://www.hackerearth.com/problem/algorithm/a-game-for-soft-drinks/) 63 | 64 | #### With Greedy and Probability 65 | 1. [REIGN2](https://www.codechef.com/COOK62/problems/REIGN2) 66 | 1. [Shooting Game](https://www.hackerearth.com/code-monk-dynamic-programming/algorithm/samu-and-shooting-game/) 67 | 1. [CHN15B](https://www.codechef.com/ACMCHN15/problems/CHN15B) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Winter Coding Camp 2 | 3 | Year-wise archive of Winter Coding Camp topics, ideas and hacks. 4 | --------------------------------------------------------------------------------