Before you read this, I want to mention that I am not good at, nor do I know any algorithm sets for any long events or square-1.
Because of this, the longest algorithms in terms of move count that I have memorized are PLL's.
This advice may not work for algorithms that are longer than about 20 moves, and for square-1.
First, to learn algorithms faster, you should know these basic move triggers:
R U R' U' = Sexy move, often shortened to sexy
R' F R F' = Sledge hammer, often shortened to sledge
U R U' R' = Reverse sexy move, often shortened to reverse sexy
F R' F' R: Hedge slammer, often shortened to hedge.
These move triggers show up in a lot of algorithms, and knowing them can make it easier to memorize.
Often times, you can memorize a short sequence if it is similar to one of the 4 triggers.
For example, R U R' U could be memorized as sexy move, but the last move is a U instead of a U'
Now, when memorizing an algorithm, you can memorize the notation, but this usually isn't the best way.
Here is how you can memorize an algorithm without necessarily memorizing the notation:
You will want to start off slow to get the algorithm in your head.
Try to memorize what the algorithm feels like in your hands and not the notation.
Breaking the algorithm up into parts while trying to memorize can also be helpful.
Make sure to not use a trainer while attempting to go slow.
Once you can do that, try to execute the algorithm as fast as you can with a trainer
At that point, you will realize that there are some parts that are difficult for you, and you should try to individually practice those difficult spots.
Then, either learn another algorithm, or do solves to practice the one you just learned.
By doing this, you can learn to do the algorithm fast easier.
You might not learn the algorithm at a fast pace, but you will learn to do the algorithm at a fast speed at a faster pace.
Good luck on learning full OLL!