C++ Implementation of variety of Algorithms and some mush have cheetsheets for CS Students.

## Cheet Sheets

- Trigonometry Cheat sheet
- Computer Science Cheat sheet : Mainly series, algorithm discrete math and calculus based cheat sheet.
- ICPC Cheatsheet : Outdated, may be helpful for beginners.

## Data Structure

In no particular order,

```
- Binary Indexed tree (BIT)
- Heavy Light Decomposition (HLD)
- Histrogram
- LCA
- RMQ
- trie
```

## Geometry

In no particular order,

```
- CircleSegmentTetrahedron
- Closest Pair
- ConvexHull
- ConvexHull GrahamScan
- ConvexHull MonotoneChain
- Parametric Geometry routine
- Line segment intersection
- Ray casting algorithm (PointInPolygon)
- Rotate point
- Tangent of line
```

## Graph

In no particular order, - Stoer Wagner all pair Min Cut - Articulation Point - Bellman Ford - BiConnected Component - Bridge - Disjoint Set - Eular Circuit - Hungerian Algorithm - Max Weighted Bi-partite Matching - MaxFlow Dinic - Maximum Bipertite Matching - Mincost Max Flow - Minimum Expression - Dinitz - Dinitz With EdgeList - Stable marrige problem - Strongly Connected Component - Tarjans Off line LCA - manacher

## Matrix & Numeric

In no particular order,

```
- Big float (C++ library)
- BigInt
- FFT
- Faussian Elimination
- matrix Exponentiation
```

## Number theory and Math

In no particular order,

```
- ExtendedEuclidMOdInverse
- Hn
- LinearDiphontine
- Number Theory Part 1.pdf - Good colelction of Number theoric discussion.
- NumberTheory Part 2.pdf - Good colelction of Number theoric discussion.
- PollardRho
- SegmentedSieve
- ShankBabyStepGiantStep
- Sieve
- josepheous
- ncr
```

## Searching

```
- Ternary Search
```

## String

```
- Aho Chorasik
- KMP
- Hashing
- suffix-array.pdf - Good discussion of suffix-array
- Suffix array code.
```

## IO

```
- Fast read C++
```

## Collected Library

- Stanford University ACM Team Notebook : Outdated, maybe helpful for mid-level/above mid-level problem solver.
- Combinatorial optimization1.
- Sparse max-flow (C++)
- Min-cost max-flow (C++)
- Push-relabel max-flow (C++)
- Min-cost matching (C++)
- Max bipartite matching (C++)
- Global min cut (C++)
- Graph cut inference (C++)

- Geometry
- Convex hull (C++)
- Miscellaneous geometry (C++)
- Java geometry (Java)
- 3D geometry (Java)
- Slow Delaunay triangulation (C++)

- Numerical algorithms
- Number theoretic algorithms (modular, Chinese remainder, linear Diophantine) (C++)
- Systems of linear equations, matrix inverse, determinant (C++)
- Reduced row echelon form, matrix rank (C++)
- Fast Fourier transform (C++)
- Simplex algorithm (C++)

- Graph algorithms
- Fast Dijkstra’s algorithm (C++)
- Strongly connected components ©
- Eulerian Path (C++)

- Data structures
- Suffix arrays (C++)
- Binary Indexed Tree
- Union-Find Set (C/C++)
- KD-tree (C++)
- Lazy Segment Tree (Java)
- Lowest Common Ancestor (C++)

- Miscellaneous
- Longest increasing subsequence (C++)
- Dates (C++)
- Regular expressions (Java)
- Prime numbers (C++)
- C++ input/output
- Knuth-Morris-Pratt (C++)

- Stavropol SU : Extremely outdated, but worth to look at.
- vimrc
- Java template
- Combinatorics
- Number Theory
- String Algorithms
- Min-cost max-flow
- Graph Theory
- Games
- Geometry
- Math
- Data Structures
- Miscellanious 13FFT

- Combinatorial optimization1.

Special Thanks: My trainer Tarif Ezaz and my friend Mohammad Abdullah Matin Khan Zarzis to whom I learned to think.

I also want to mention some of the other special names for their tremendous support. Nafis Ahmed, Mohammad Samiul Islam, Zobayer Hasan, Forhad Ahmed and Leonardo Boshell

NOTE : I don’t claim all of the soutions to be mine. While I was solving the problems, I took help from different peoples and see other people’s code for many problems. In Fact most of the coder here is collected. But I never submit any code without my complete understanding. I suugest those who will be following the repo to do so. Pasting code to online judges won’t take you any further except frustration.