skill set for competitive programming

Post on 28-Dec-2015

70 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Check

TRANSCRIPT

Your Skill Set as of Today (Week 01/02)

Your Response ScoreNever heard of it before 1Heard of it but do not know the details 2Know it, but have not code/use it 3Can code/use it, but not very confident to do it fast 4Can code/use it very fast and confident 5

Task: Give a score in Column B for each Keywords below, see the scoring table above, the graph on the right side will be gradually updated

Data Structures, Algorithms, & Programming Keywords My Subjective ScoreSequence, Selection, Repetition Programming ConstructsRecursion/BacktrackingAd Hoc ProblemC++ STL (Standard Template Library)Java API (Application Programming Interface)Array/C++ STL vector/Java VectorBasic Bitmask TechniquesLinkedList/C++ STL list/Java LinkedList 5Stack/Queue/Deque/C++ STL stack/queue/deque/Java Stack/Queue/Deque 5Binary Search Tree/C++ STL map/set/Java TreeMap/TreeSet 5Balanced Binary Search Tree/AVL/Red-Black-Tree (with your own library) 4Hash Table/Java HashMap (C++11 unordered_map) 4Heap/PriorityQueue/C++ STL priority_queue/Java PriorityQueueGraph/AdjacencyMatrix/AdjacencyList/EdgeListUnion-Find Disjoint SetsSegment TreeBinary Indexed (Fenwick) TreeBubble Sort 5Insertion Sort 5Selection Sort 5Merge Sort 5Quick Sort 5Heap Sort 5Multi-Field SortingCounting SortInversion Index (with Merge Sort) 5Complete Search/Brute Force/Iterative/Recursive Backtracking

State-Space SearchMeet in the Middle (Bidirectional Search)A* Search (standard one)Iterative-Deepening Technique (esp IDA*)Divide and Conquer PrinciplesBinary Search TechniquesGreedyBasic Ideas of Dynamic Programming

I can solve n-Queens problem up to n ≤ 14

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97100

103106

109112

115118

121124

0

1

2

3

4

5

6

My Skill

Max Sum 1D/2D/etcKadane's Algorithm for 1D/2D/etc Max SumLongest Increasing Subsequence (LIS)O(n log k) solution for LISCoin Change (CC)0-1 Knapsack/Subset SumTraveling Salesman Problem (TSP)DP and its relationship with DAGDP "on Tree"Longest Common Subsequence (LCS)String Alignment/Edit DistanceDP Optimization TechniquesBitonic TSPMatrix Chain Multiplication (MCM)Optimal Binary Search Tree (OBST)Depth First Search (Traversal)Topological SortFinding Connected Components/Flood FillFinding Articulation Points/Bridges in O(V+E)Finding Strongly Connected Components (SCC) in Directed Graph in O(V+E)Breadth First Search (Traversal)Kruskal's (Minimum Spanning Tree)Prim's (Minimum Spanning Tree)Dijkstra's (Single-Source Shortest Paths)Bellman Ford's (Single-Source Shortest Paths)Floyd Warshall's (All-Pairs Shortest Paths)Ford Fulkerson's/Edmonds Karp's (Max Flow, Min Cut)Independent and Edge-Disjoint PathsMin Cost (Max) FlowShortest/Longest/All Pairs Paths in TreeLowest Common Ancestor (LCA)Eulerian Graph/Path/CycleChinese Postman ProblemDirected Acyclic Graph (DAG)Shortest/Longest Path in DAGCounting Paths in DAGMin Path Cover in DAGBipartite GraphMax Cardinality Bipartite Matching (MCBM)Min Vertex Cover in Bipartite Graph (Konig Theorem)Max Independent Set/Dominating Set in Bipartite GraphAugmenting Path Algorithm for finding MCBMHopcroft Karp's Algorithm for finding MCBMKuhn Munkres/Hungarian Algorithm for finding weighted MCBMEdmond's Matching Algorithm (Blossom Shrinking) for General MatchingSequences and Number SystemsPolynomialBig Integer

Base NumberCombinatoricsFactorial/FibonacciNumber TheoryPrime Number Generation: SievePrime TestingMiller Rabin's AlgorithmPrime Factoring by Trial DivisionPollard Rho's AlgorithmModified SieveGCD/LCM/Euclid's AlgorithmExtended Euclid/Linear Diophantine EquationEuler PhiModulo ArithmeticFibonacci/FactorialDivisibilityCycle Finding/Tortoise-Hare AlgorithmDivide and Conquer Quick ExponentiationMatris PowerLinear Algebra/Gaussian EliminationBackus Naur Form (BNF) GrammarKnuth Morris Pratt (KMP) String Matching algorithmAho CorasickSuffix Trie ApplicationsSuffix Tree ApplicationsSuffix Array Construction O(n log n) and ApplicationsGeometry Basics, e.g. area, perimeter, Euclidean distance, TrigonometryLine Segment IntersectionCCW TestIncircle TestArea and Perimeter of Arbitrary PolygonTesting if a Polygon is ConvexTesting if a Point is Inside a PolygonCutting a (Convex) Polygon with a Straight LineGraham Scan (Convex Hull)Plane Sweep ParadigmArea or Volume IntersectionTriangulationClosest Pair ProblemOrder Statistics: Linear Time Selection AlgorithmClassic Board games, Card games, Chess, popular AI gamesFedora (Linux) OS environment

Task: Give a score in Column B for each Keywords below, see the scoring table above, the graph on the right side will be gradually updated

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97100

103106

109112

115118

121124

0

1

2

3

4

5

6

My Skill

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97100

103106

109112

115118

121124

0

1

2

3

4

5

6

My Skill

top related