Boolean DP animated: each number extends every reachable sum, answering subset-sum and equal-partition in pseudo-polynomial time.
Tip: use samples, upload, copy, download, and send-to actions inside the workspace where available.
Subset Sum & Partition Visualizer is a free, browser-based tool that helps you turn raw numbers into clear charts. Boolean DP animated: each number extends every reachable sum, answering subset-sum and equal-partition in pseudo-polynomial time. It's built for speed and privacy: Everything runs locally in your browser — your data is never uploaded to a server. No sign-up, no installs, and no daily limits.
Visualize the dataset after it has been cleaned enough for reliable labels and numeric values.
Review the preview, copy or download the result, and keep everything local in your browser.
0/1 Knapsack Visualizer: The 0/1 knapsack DP table animated cell by cell: skip-or-take decisions with the exact cells each value reads from, ending at the optimal bottom-right answer.
Open toolCoin Change Visualizer: Fewest-coins DP animated — including the classic case where greedy fails (coins 1, 4, 5 for amount 8) and the table finds 4+4 instead.
Open toolSAT & P vs NP Visualizer: Brute-force SAT over a truth table — verification instant, search exponential — with the Cook-Levin story of why SAT anchors all of NP.
Open tool| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ∅ | ✓ | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · |
| +11 | ✓ | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · |
| +4 | ✓ | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · |
| +7 | ✓ | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · |
| +5 | ✓ | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · |
| +8 | ✓ | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · |
| +10 | ✓ | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · | · |
1Subset Sum / Partition: numbers {11, 4, 7, 5, 8, 10} (total 45). Can a subset hit 22 (= half, for a fair partition)? dp[i][s] = "reachable with the first i numbers". Sum 0 is always reachable.
reach[0] = truefor each number v:every reachable s makes s+v reachablepartition exists ⇔ reach[total/2]
Boolean DP: each number extends every reachable sum. Partition = subset sum of half the total. NP-complete in general, easy when targets are small.