0% found this document useful (0 votes)
157 views

Competitive Programming Theory

This document outlines key topics in competitive programming theory, including input/output methods, mathematics concepts, computational geometry, data structures, the C++ Standard Template Library (STL), sorting algorithms, searching techniques, graph algorithms, shortest path finding, divide and conquer strategies, dynamic programming, greedy algorithms, and string processing methods. It provides examples of specific algorithms and data structures commonly used to solve programming problems competitively in each category.

Uploaded by

Muhri Ihza
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
157 views

Competitive Programming Theory

This document outlines key topics in competitive programming theory, including input/output methods, mathematics concepts, computational geometry, data structures, the C++ Standard Template Library (STL), sorting algorithms, searching techniques, graph algorithms, shortest path finding, divide and conquer strategies, dynamic programming, greedy algorithms, and string processing methods. It provides examples of specific algorithms and data structures commonly used to solve programming problems competitively in each category.

Uploaded by

Muhri Ihza
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Competitive Programming Theory

Input / Output
o Integer Input / Output
o Float Input / Output
o Char Input / Output
o String Input / Output
o List Input / Output
o Matrix Input / Output
Mathematics
o Prime Number And Sieve of Eratosthenes
o Modulo Arithmetic
o Inverse Modulo
o Fermat Little Theorem
o GCF And LCM
o Linear Diophantine
o Extended Euclid
o Combination And Permutation
o Bit Manipulation
o Big Number
o Fast Exponentiation
o Matrix Exponentiation
Computational Geometry
o Vector And Operations
o Area Calculation
o Convex Hull
o Line Intersection
Data Structure
o Array
o Bit Array
o Graph
o Tree
o Disjoint Set
o Binary Indexed Tree / Fenwick Tree
o Binary Search Tree
o Heap
o AVL Tree
o Treap
o Segment Tree
o Range Minimum Query (RMQ)
o Range Tree
o Suffix Tree
o Suffix Trie
o Suffix Array
o Hash Table
STL
o Vector
o List
o Set / Multi Set
o Map / Multi Map
o Stack
o Queue
o Priority Queue
Sorting
o Bubble Sort
o Selection Sort
o Insertion Sort
o Shell Sort
o Quick Sort
o Merge Sort
o Count Sort
o Radix Sort
o Heap Sort
o Topo Sort
Linear Data Searching
o Linear Search
o Binary Search
Graph Data Searching
o Breadh First Search (BFS)
o Depth First Search (DFS)
o Depth Limited Search (DLS)
o Iterative Deepening Depth First Search (IIDFS)
Path Finding & Shortest Path
o Breadth First Search
o Depth First Search
o Floyd Warshall Algorithm
o Bellman Ford Algorithm
o Djikstra Algorithm
o A Star (A*) Algorithm
Divide And Conquer
Dynamic Programming
o Coin Change
o Knapsack Zero One
o Matrix Chain Multiplication (MCM)
o Longest Increasing Subsequence (LIS)
o Longest Common Subsequence (LCS)
o Edit Distance
o DP On Tree / DP On DAG
o DP Bitmask
o DP Profile
o DP Convex Hull
Greedy
o Coin Change
o Fractional Knapsack
o Interval Selection Problem
String Processing
o Rabin Karp Algorithm
o Knuth Morris Prat Algorithm

You might also like