The claim
Every efficientalgorithm isbrute forceredundant work
Eighteen kinds of redundancy. Twenty-four mechanisms that eliminate them. Own that mapping and you stop needing to have seen the problem before. This is the instrument that installs it — six rungs, a commit before every hint, and an honest record of where you actually fell off.
- 24
- mechanisms
- 18
- redundancies
- 53
- DAG nodes
- 60
- forged problems
The closed taxonomy of 24 mechanisms: Hashing, Two pointers from the ends, Fast and slow pointers, Fixed sliding window, Variable sliding window, Prefix sums, Binary search on the array, Binary search on the answer, Sorting as preprocessing, Heap, Monotonic stack, Monotonic deque, Linked list, Tree traversal, Trie, Union-find, Segment tree, BFS, DFS, Backtracking, Topological sort, Dijkstra, Greedy, Dynamic programming.
01 The Ladder
Six rungs. You cannot buy your way past one with a hint.
Every hint is priced in commitment: log a falsifiable hypothesis at the rung you are on, or the hint stays shut. Wrong hypotheses are the useful ones — they are what turns a session into a record instead of a feeling.
- 01FrameRestate this in your own words. What is the input, the output, and how big can n get?
- 02BruteWhat's the dumbest thing that works? Complexity?
- 03BottleneckWhat is your brute force doing over and over that it shouldn't have to?
- 04LiftWhat kills that specific waste?the hinge
- 05InvariantWhat's true after every step, no matter the input?
- 06VerifyTrace n=1, empty input, and all-identical. Final complexity?
02 The instrument
Three screens, one loop.
03 Under the hood
The rules are enforced where they cannot be edited away.
A tutor that can be talked out of its own pedagogy is a chat window. Every rule this thing claims to have is held by the server, the type system, or a test.
The clock is not the client’s
The countdown is a drawing. Elapsed time comes from a timestamp the server wrote at issuance and re-derives on submit, so a paused, slow, or hostile browser changes the picture and nothing that scores.
The gate is not the disabled attribute
The hint button’s disabled state mirrors a server invariant that throws CommitRuleViolation on the same condition. Deleting the client gate does not open the hint.
A closed taxonomy, typed end to end
Twenty-four mechanisms and eighteen redundancies are const unions. The picker is generated from them, so a taxonomy change is a type error rather than a silent gap in a form.
Mastery is a pure function
EMA with time decay, no Prisma import and no ambient clock — the current time is a parameter. That is what makes the scoring model testable without a database or a fake timer.
Nine agents, each with a refusal contract
Placement, failure analysis, planning, examination, critique, interview. Every one has a written output schema and an explicit list of what it must refuse to say — a coach that leaks the mechanism has failed its contract.
Fifty-one tests, none of them networked
The invariants that matter — the Commit Rule, decay monotonicity, taxonomy closure — are pinned offline. Drill grading falls back to a deliberately conservative offline grader rather than inflating an ungraded answer.
Start where it hurts
Ninety seconds an item. Name the waste, name the tool.