CustomCC0-1.0#cp013-5292000
Graph Degree Redistribution
Summary
- •Phase 5 / graphs, degree, greedy
- •Reasoning-first competitive programming drill
Problem Description
Given an undirected graph with n nodes and m edges, in one move you may move one edge from a vertex of degree > k to a vertex of degree < k, if such move is possible. Find the minimal number of moves to make all degrees equal to k, or report -1 if impossible.
How to read this problem in plain language:
- This is a Phase 5 reasoning drill focused on graphs, degree, greedy.
- Typical lenses to test first: graphs, degree, greedy.
- Constraints reminder: 1 <= n <= 2*10^5, 0 <= m <= 3*10^5, 0 <= k <= n-1
Mini examples for mental simulation:
1) Boundary example: Describe why this case is tricky. Explain expected behavior and why naive logic may fail.
2) Adversarial example: Adversarial case where naive greedy/local decision looks correct but fails globally.
Lite-mode writing target:
- Write 1~2 observations that shrink the search space.
- Name one final algorithm and state target complexity explicitly.
- Validate with at least 2 edge cases and one hand simulation.
Constraints
- •1 <= n <= 2*10^5, 0 <= m <= 3*10^5, 0 <= k <= n-1
Analysis
Key Insight
The goal is to force explicit intermediate reasoning before revealing more.
graphsdegreegreedy