Is it just me, or are the differences between the two ratings too big? It goes from basic arithmetic (9A) to quite hard optimizations (1875A, i got tl'd on it). Maybe lower ratings for some of the 800s will help imo, the variance in difficulty is just unreal.

sometimes 800-rated problem is not 800-rated problems. Instead, it might be easier than that. But, due to how codeforces rate these problems, any k <= 800-rated problems are rated 800.

The meaning of a problem being 900 rated is that the expected rating of someone solving that problem on contest is 900. This is capped between 800 and 3500, probably to avoid problems from having unreasonable ratings like -400 or 999999.

Difficulty is subjective and the method of calculating the problem rating is not perfect, so at any rating level people will find some problems easier than others.

I personally don't see much point in differentiating between problems < 800. Most contestants, even very weak ones, can typically get a rating of around 800 after their rating converges to a meaningful value (which takes around 5 contests).

Even on that problem you mentioned, 1875A, the observation was that simulating the process would take too long (around 10^11 steps on the worst case) and it just makes sense to use a tool when the timer reaches 1. This is a pretty reasonable observation which doesn't feel like that much like a ridiculous difficulty spike.

Still, there are div4s you can try if you want easier problems, but i would recommend you to keep practicing those problems out of your comfort zone if you want to improve.