Skill Set for Competitive Programming

April 15, 2019 | Author: Pulkit Aggarwal | Category: C++, Prime Number, Array Data Structure, Algorithms And Data Structures, Applied Mathematics
Share Embed Donate


Short Description

Check...

Description

Your Skill Set as of Today (Week 01/02) Your Response Never heard of it before Heard of it but do not know the details Know it, but have not code/use it Can code/use it, but not very confident to do it fast Can code/use it very fast and confident

Score 1 2 3 4 5

Task: Give a score in Column B for each Keywords Keywords below, see the scoring table above, the graph graph on the righ Data Structures, Algorithms, & Programming Keywords

My Subjective Score

Sequence, Selection, Repetition Programming Constructs Recursion/Backtracking

6

Ad Hoc Problem C++ STL (Standard Template Library) Java API (Application Programming Interface) Array/C++ STL vector/Java Vector Basic Bitmask Techniques LinkedList/C++ STL list/Java LinkedList Stack/Queue/Deque/C++ ST STL st stack/queue/deque/Java St Stack/Queue/Deque Binary Search Tree/C++ STL map/set/Java TreeMap/TreeSet Balanced Binary Search Tree/AVL/Red-Black-Tree (with your own library) Hash Table/Java HashMap (C++11 unordered_map) Heap/PriorityQueue/C++ Heap/PriorityQueue/C++ STL priority_queue/Java PriorityQueue Graph/AdjacencyMatrix/AdjacencyList/EdgeList Union-Find Disjoint Sets Segment Tree Binary Indexed (Fenwick) Tree Bubble Sort Insertion Sort Selection Sort Merge Sort Quick Sort Heap Sort Multi-Field Sorting Counting Sort Inversion Index (with Merge Sort) Complete Search/Brute Force/Iterative/Recursive Backtracking I can solve n-Queens problem up to n ≤ 14 State-Space Search Meet in the Middle (Bidirectional Search) A* Search (standard one) Iterative-Deepening Technique (esp IDA*) Divide and Conquer Principles Binary Search Techniques Greedy Basic Ideas of Dynamic Programming Max Sum 1D/2D/etc

5

5 5 5 4 4

4

3

5 5 5 5 5 5

2

5 1

0 1

Kadane's Algorithm for 1D/2D/etc Max Sum Longest Increasing Subsequence (LIS) O(n log k) solution for LIS Coin Change (CC) 0-1 Knapsack/Subset Sum Traveling Salesman Problem (TSP) DP and its relationship with DAG DP "on Tree" Longest Common Subsequence (LCS) String Alignment/Edit Distance DP Optimization Techniques Bitonic TSP Matrix Chain Multiplication (MCM) Optimal Binary Search Tree (OBST) Depth First Search (Traversal) Topological Sort Finding Connected Components/Flood Fill Finding 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 Paths Min Cost (Max) Flow Shortest/Longest/All Pairs Paths in Tree Lowest Common Ancestor (LCA) Eulerian Graph/Path/Cycle Chinese Postman Problem Directed Acyclic Graph (DAG) Shortest/Longest Path in DAG Counting Paths in DAG Min Path Cover in DAG Bipartite Graph Max Cardinality Bipartite Matching (MCBM) Min Vertex Cover in Bipartite Graph (Konig Theorem) Max Independent Set/Dominating Set in Bipartite Graph Augmenting Path Algorithm for finding MCBM Hopcroft Karp's Algorithm for finding MCBM Kuhn Munkres/Hungarian Algorithm for finding weighted MCBM Edmond's Matching Algorithm (Blossom Shrinking) for General Matching Sequences and Number Systems Polynomial Big Integer Base Number Combinatorics Factorial/Fibonacci

Number Theory Prime Number Generation: Sieve Prime Testing Miller Rabin's Algorithm Prime Factoring by Trial Division Pollard Rho's Algorithm Modified Sieve GCD/LCM/Euclid's Algorithm Extended Euclid/Linear Diophantine Equation Euler Phi Modulo Arithmetic Fibonacci/Factorial Divisibility Cycle Finding/Tortoise-Hare Algorithm Divide and Conquer Quick Exponentiation Matris Power Linear Algebra/Gaussian Elimination Backus Naur Form (BNF) Grammar Knuth Morris Pratt (KMP) String Matching algorithm Aho Corasick Suffix Trie Applications Suffix Tree Applications Suffix Array Construction O(n log n) and Applications Geometry Basics, e.g. area, perimeter, Euclidean distance, Trigonometry Line Segment Intersection CCW Test Incircle Test Area and Perimeter of Arbitrary Polygon Testing if a Polygon is Convex Testing if a Point is Inside a Polygon Cutting a (Convex) Polygon with a Straight Line Graham Scan (Convex Hull) Plane Sweep Paradigm Area or Volume Intersection Triangulation Closest Pair Problem Order Statistics: Linear Time Selection Algorithm Classic Board games, Card games, Chess, popular AI games Fedora (Linux) OS environment

side will be gradually updated

My Skill

5

9

13

17

21

25

29

33

37

41

45

49

53

57

61

65

69

73

77

81

85

89

93

97 101 105 109 113 117 121 125

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF