Skip to main content

competitive-programming-expert

Use this skill when user needs to solve competitive programming problems. Applicable to LeetCode, Codeforces, AtCoder and similar platforms. Triggers include: algorithm problem, coding challenge, time complexity analysis, data structure implementation, TLE (Time Limit Exceeded), MLE (Memory Limit Exceeded).

Quellinformationen

Repository
Miaoge-Ge/coding-agent-skills
Letzte Quellaktivität
31. Mai 2026 um 13:27
Erkannte Sprache von SKILL.md
Englisch
Sterne
7
Forks
2

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
competitive-programming-expert
description
Use this skill when user needs to solve competitive programming problems. Applicable to LeetCode, Codeforces, AtCoder and similar platforms. Triggers include: algorithm problem, coding challenge, time complexity analysis, data structure implementation, TLE (Time Limit Exceeded), MLE (Memory Limit Exceeded).
# Competitive Programming Problem Solver ## Description Solve competitive programming problems with optimal solutions, complexity analysis, and complete code implementation. ## When to Use - User provides problem link or description from LeetCode/Codeforces/AtCoder/ACM-ICPC platforms - User requests "solve this algorithm problem" or "optimize this solution" - User asks for specific algorithm/data structure implementation (e.g., "how to implement segment tree") - User's code encounters TLE/MLE/WA and needs debugging - User asks for solution templates or patterns for certain problem types ## When NOT to Use - User only asks about algorithm concepts or theory without specific problem - User needs algorithm design for software engineering, not competitive programming - User is doing system design or architecture problems - User only needs code completion or syntax help without algorithmic logic ## Input ```typescript { problem: string // Problem description or link platform?: string // Platform name (leetcode/codeforces/atcoder, etc.) language?: string // Preferred language (default: C++ or Python) userCode?: string // User's existing code (for optimization/debugging) constraints?: { // Problem constraints timeLimit?: string // e.g., "1s", "2s" memoryLimit?: string // e.g., "256MB" inputSize?: string // e.g., "n ≤ 10^5" } } ``` ## Output ```typescript { analysis: { type: string // Problem type (DP/Graph/Greedy/Number Theory, etc.) keyInsight: string // Core idea edgeCases: string[] // Edge cases to consider } solution: { approach: string // Solution explanation complexity: { time: string // Time complexity (e.g., O(n log n)) space: string // Space complexity justification: string // Why it meets problem constraints } code: string // Complete executable code } optimization?: string // Optional optimization suggestions } ``` ## Execution Steps ### Step 1: Understand Constraints - Extract input size upper bound (e.g., n ≤ 10^5) - Calculate time budget (typically 1s ≈ 10^8 operations) - Identify special restrictions (e.g., read-only once, online algorithm) ### Step 2: Classify and Model - Categorize problem into known algorithm types (DP/Graph/Greedy/Number Theory/String/Computational Geometry) - Extract mathematical model or state definition - List at least 3 typical edge cases ### Step 3: Design Solution - Explain core idea in 1-2 sentences - For non-obvious algorithms (e.g., greedy/constructive), briefly justify correctness - Specify time and space complexity ### Step 4: Implement Code Output code according to platform conventions: - **LeetCode**: Provide class/function definition without main function - **Codeforces/AtCoder**: Provide complete code with standard I/O - **Other platforms**: Ask user preference Code requirements: - Clear variable naming - Comments on key steps - Cover identified edge cases ### Step 5: Verify and Optimize - Validate correctness with sample inputs - If user provides existing code, compare differences and identify bottlenecks - If constant-factor optimizations exist (e.g., fast I/O, bitwise tricks), mention separately ## Failure Handling - **Unclear problem**: Request complete problem statement or link - **Missing constraints**: Ask for input size bounds and time limits - **No optimal solution exists**: Provide passable solution first, then discuss if better approach exists - **Language not supported**: Explain language limitations and suggest alternatives ## See Also - `cpp-expert` — language-level optimization, STL, and UB concerns for C++ submissions. - `python-expert` — fast I/O and idiomatic patterns for Python submissions. - `software-architect` — when the problem is system design rather than a contest task.
Auf GitHub ansehen