Blogarithms Aditya Ramesh's Blog Incoming Intern, D. E. Shaw | Cisco | Deloitte | Algorithm Blogger, Topcoder


I'm Aditya Ramesh!
I enjoy writing code, blogging, eating and sketching. Oh, and I love puppies!
Here's my technical portfolio - rameshaditya.com


Blog Post Tags -


The Two Pointer Algorithm!

A really cool algorithm to solve some interesting problems.


Building My Own Procedural Generation Algorithm

How Minecraft, No Man's Sky and other video games simulate unreasonably large planets!


[Topcoder Weekly Challenge] On Graph Theory & Greedy Algorithms!

An analysis of an algorithmic challenge featured in Topcoder in the HumbleFool Cup.


My Google Hash Code 2019 Experience!

The story behind how my team and I ranked 21st in India.


The One On Dynamic Programming!

Probably the first in a multi-part series on DP.


A talk on Java's HashSets and TreeSets!

Find my slides here.


[Topcoder Weekly Challenge] Google Kickstart Practice Round!

Solving Google Kickstart's Practice Round's Final Problem.


C++ Standard Template Library Hacks I like

Leveraging C++'s STL to write code faster.


Some math behind collectibles!

Taking a look at the Coupon Collector's Problem


Fermat's Theorem and Inverse factorials!

Understanding modular multiplication (and division?).


Why I love and hate Python.

I swing back and forth with my feelings for Python. Here's why.


Imposter Syndrome vs the Dunning-Kruger effect.

You're (likely) a better engineer than you think you are.


Switching to a Jekyll blog!

Why I switched from HTML/CSS/JS to Jekyll, the simple blog-aware static site generator.


Interviewing students on Algorithms for my college's ACM chapter.

As a CS pre-final year undergrad, I get to be one of the 'gatekeepers' to my college's ACM chapter.


Fenwick Trees!

A data structure often associated with range queries and invertible functions.


Playing With Pokemons -- The Data Science Way

Gotta Analyze & Visualize 'Em All!


Difference Arrays And How They Can Make A Difference

Perform Invertible Range Updates in O(1) (also, sorry for that pun in the title)


Why I Think Every Developer Should Blog

Title Says It All.


[Topcoder Weekly Challenge] On Dynamic Programming!

An analysis of a tricky algorithmic challenge featured in Topcoder on 3D Dynamic Programming.


Diving Into NLP!

The Ultimate Icebreaker Into Natural Language Processing


[Topcoder Weekly Challenge] Convex Hulls + Graph Theory

An analysis of a tricky algorithmic challenge featured in Topcoder on Convex Hulls and Graph Theory.


[Topcoder Open, Beijing] Disjoint Set Union + Graph Theory

An analysis of a tricky algorithmic challenge featured in Topcoder Open, Beijing. On Disjoint Set Union and Graph Theory.


[Cisco Sponsored Challenge] Binary Search + Math

An analysis of a tricky algorithmic challenge featured in a Topcoder contest sponsored by Cisco, on Binary Search and Math.


[Google Sponsored Challenge] Dynamic Programming + Strings

An analysis of a tricky algorithmic challenge featured in a Topcoder contest sponsored by Google, on DP and Strings.


[Blizzard Sponsored Challenge] Graph Theory And Permutations

An analysis of a algorithmic challenge on permutations, graph theory and topological sort. Featured in a contest sponsored by Blizzard Entertainment.


The Podcast Experiment

I'm experimenting with podcasts!


[Facebook Hacker Cup] Combinatorial Math

An analysis of an algorithmic challenge featured in Facebook's Hacker Cup, on combinatorics and math!


[Topcoder Weekly Challenge] On Dynamic Programming

An analysis of a tricky algorithmic challenge on DP.


[Topcoder Weekly Challenge] On String Algorithms

An analysis of a tricky algorithmic challenge on strings.


Giving My First Technical Talk -- On Algorithms!

My experience giving a talk on algorithms and competitive programming, to CS undergrads from tier-3 colleges!


[ACM ICPC Challenge] Convex Hulls + Ad Hoc

An analysis of an algorithmic challenge featured in ACM ICPC!


Knuth-Morris-Pratt (KMP) Algorithm

Pattern Matching in linear time! This algorithm is used in network security, genome encryption and in many other real world scenarios!


[Topcoder Weekly Challenge] On Strings and Dynamic Programming

An analysis of a tricky algorithmic challenge on strings and dynamic programming.


[Topcoder Weekly Challenge] Graph Theory And Math

An analysis of a tricky algorithmic challenge on graph theory and math.


[Topcoder Weekly Challenge] On Geometry

An analysis of a tricky algorithmic challenge on geometry.


I Joined The Topcoder Blogging Team! 🎉🎉🎉

Topcoder is the one of the most prestigious algorithmic challenge platforms in the world. And I've been inducted into their technical blogging team!

I Joined The Topcoder Blogging Team! 🎉🎉🎉 feature image

[Open Source - E-Maxx-Eng] Graham's Scan & Convex Hulls

Another Open Source Algorithm Translation Of Mine For The Famous Algo Blog, E-Maxx! -- Find my name in the Page Authors section on the top-right corner of the page!


[Open Source - E-Maxx-Eng] Generating K Combinations

An Open Source Algorithm Translation Of Mine For The Famous Algo Blog, E-Maxx! -- Find my name in the Page Authors section on the top-right corner of the page!


HackHarvard'17: What I built at Harvard University's International Hackathon

An android + web app that crowdsources locating lost pets.


Tackling Tries!

Efficient String Searching In A Dictionary Of Words, How Facebook Searches In Its Database, And More!


Diving Into Disjoint Sets!

Explore union-find algorithms with this data structure!


Majority Element and Moore's Algorithm!

Find an array element occurring more than half the time in O(n)!


Getting Game Theory (Part 1)

Grundy Numbers, Nim Game, Minimum Excludants, Math and Logic!


Dynamic Programming: Sum Over Subset

A small yet cool algorithm, that helps iterate over numbers whose bits are a subset of its parents.


Grokking Graph Theory

Due to popular demand, let's deal with graph theory, from the bottom-up! (DP joke, sorry)


Scrutinizing Sieving Algorithms

Implement the mathematical sieve of eratosthenes to identify the primality of numbers in O(nlognloglogn)!


Powering Up With Binary Exponentiation

A quick and clever algorithm to exponentiate in logarithmic order of the exponent!


Exploring Binary Search

Identify a change in state of a bivalued function! This goes beyond the 'find-in-array' idea.


Learning Lazy Propagation

Perform Range Updates In Logarithmic Time With This Data Structure! Pre-Requisite: Segment Trees


Traversing Segment Trees

Learn How To Perform Range Queries In Logarithmic Time With This Data Structure!