Yay, another entry to my series on competitive programming! This time I am going to write about a few tricks I have picked up from solving dynamic programming problems. The main goal of this post is to introduce the idea behind dynamic programming and summarize a few tricks that I find useful. Hopefully, the post does not turn out too long.
Time for another post on competitive programming algorithms! I am going to discuss some neat sliding window techniques and a few other algorithms that feature similar ideas.
I have not written a blog post about algorithms for competitive programming for a while, because I have been doing tons of artificial neural network stuff! However, I am resuming the series on some interesting algorithms. This time, I am going to discuss the Venice Technique, which I read about here. It is an interesting data structure trick that accompanies a hash map or a sorted map.
For the past few weeks (in addition to the school grind), I’ve been improving my Java Machine Learning library. After a few weeks of learning from online blog posts and papers, I have completed an overhaul of the existing code and I’ve added support for convolutional layers and GRU recurrent layers.
Recently, I’ve been working on some reinforcement learning. I learned about DDDQNs, which are neural networks that learns how to play games. Continue reading “Double Dueling DQN with Prioritized Experience Replay”
Around 2-3 weeks ago, I decided to create my own programming language and to write an interpreter for it in Java. Now, after fixing many bugs, the interpreter and the language documentation is finally finished. The whole project, called reCall, is available here, on GitHub. The whole experience was very interesting because I looked at many other programming language (even esoteric ones) and examined their syntax. Continue reading “Java Interpreter for reCall, a Programming Language”
If you haven’t read the previous part 1, please do so, or else some things will not make sense in this blog post! As always, if you do not understand something, just search it up. There are many sources online that do in-depth explanations much better than me. Also, my code is available here on GitHub.
Let’s get started with some cool data structures and algorithms! Continue reading “All About Ranges/Intervals (Part 2)”