install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/algorithms-optimization/skills/dp-optimizer" ~/.claude/skills/a5c-ai-babysitter-dp-optimizer && rm -rf "$T"
manifest:
library/specializations/algorithms-optimization/skills/dp-optimizer/SKILL.mdsource content
DP Optimizer Skill
Purpose
Apply advanced dynamic programming optimizations to improve time and space complexity of DP solutions.
Capabilities
- Convex hull trick detection and application
- Divide and conquer optimization
- Knuth optimization
- Monotonic queue/deque optimization
- Alien's trick / WQS binary search
- Rolling array optimization
- Bitmask compression
Target Processes
- dp-state-optimization
- advanced-dp-techniques
- complexity-optimization
Optimization Techniques
Time Optimizations
- Convex Hull Trick: O(n^2) -> O(n log n) for certain recurrences
- Divide & Conquer: O(n^2 k) -> O(n k log n) when optimal j is monotonic
- Knuth Optimization: O(n^3) -> O(n^2) for certain interval DP
- Monotonic Queue: O(n*k) -> O(n) for sliding window DP
Space Optimizations
- Rolling Array: O(n*m) -> O(m) when only previous row needed
- Bitmask Compression: Reduce state space with bit manipulation
Input Schema
{ "type": "object", "properties": { "dpCode": { "type": "string" }, "stateDefinition": { "type": "string" }, "transitions": { "type": "string" }, "currentComplexity": { "type": "string" }, "targetComplexity": { "type": "string" }, "optimizationType": { "type": "string", "enum": ["auto", "convexHull", "divideConquer", "knuth", "monotonic", "space"] } }, "required": ["dpCode", "optimizationType"] }
Output Schema
{ "type": "object", "properties": { "success": { "type": "boolean" }, "optimizedCode": { "type": "string" }, "optimizationApplied": { "type": "string" }, "newComplexity": { "type": "string" }, "explanation": { "type": "string" } }, "required": ["success"] }