0% found this document useful (0 votes)
9 views14 pages

ACA - Programming Mathemania

Uploaded by

aditya7mail77
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
9 views14 pages

ACA - Programming Mathemania

Uploaded by

aditya7mail77
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 14

ACA'23

PROGRAMMING
MATHEMANIA
Presentation by
Mohak Singh Rana
Rajat Gattani
Introduction
In this project, we will explore the relationship between mathematics
and competitive programming, and how math can be used to solve
complex problems efficiently. We will explore various mathematical
algorithms and techniques that are frequently used in competitive
programming, including Number Theory, Graph Theory, and
Combinatorics. This project will provide a comprehensive overview of
the role of mathematics in competitive programming

1
Table Of Content

Our Team

Topics

Week Distribution

Methodology

Evaluation Criteria
2
Our Team

Rajat Gattani Mohak Singh Rana


Y21 Y21
CSE CSE

3
Topics

• Week 1: STL, Hashing


• Week 2: Modular Arithmetic, Sieve of Eratosthenes, Theorems in
number theory
• Week 3: Algorithm Paradigms
• Week 4 and Week 5 : Graph Algorithm
• Week 6: Bit Manipulation, Matrix Exponentiation
• Week 7 and Week 8: Dynamic Programming 4
Week 1

• Basic concepts of C++


• Essential data structures used extensively in programming
• Implementation of these data structures in C++ using STL
• Introduction to hashing
• Problems involving hashing
• Seperate chaining and open address collision handling
• Double hashing 5
Week 2

• Basics of modular arithmetic


• Sieve of eratosthenes and segmented sieves
• Fermats theorem
• Euler totient function
• Chinese remainder theorem
• Optional: Square root decomposition
6
Week 3

• Divide and conquer paradigm


• Binary Search
• Merge Sort
• Quick Sort and inversion count
• Greedy paradigm
• Coin change
7
Week 4 and Week 5

• Basics of graphs
• Adjacency lists
• BFS and DFS Traversal
• Theoretical discussion as well as code implementation
• Djikshtra's Algorithm
• Spanning Trees
8
Week 6

• Bitwise Operators
• Unique number and subsets problem
• Travelling salesman
• Binary exponentiation and fast multiplication
• Matrix Exponentiation

9
Week 7 and Week 8

• Introduction to dynamic programming


• Recursion problems using dynamic programming
• Travelling salesman using dp
• Longest common subsequence problem
• Knapsack Problem
• Optional: Unique paths in a grid with obstacles
10
Methodology

• Step 1: Theoretical description of the concept using examples


• Step 2: C++ code implementation of the problem
• Step 3: Reference material for students to refer to for additional clarity in the topic.
• Step 4: Topicwise codeforces contests and problem sheets
• Step 5: Doubt sessions and active discord participation

11
Evaluation Criteria

2 day long contest on codeforces involving


questions on concepts done till then for mid term
and end term evaluation

One mathematical assignment submission


(theoretical questions will be asked)

A minimum passing percentage will be applied


12
ACA'23

THANK YOU!

You might also like