| id | 3b0e20b4-1405-451b-941f-2f33573bc133 |
| name | Count Disorder Pairs Efficiently in Python |
| description | Calculates the number of disorder pairs (inversions) in a list where i < j and pi > pj, optimized for large datasets. |
| version | 0.1.0 |
| tags | ["algorithm","python","inversion-count","optimization","coding"] |
| triggers | ["count disorder pairs","calculate disorder pairs","count inversions in a queue","fastest program for disorder pairs","inversion count large data"] |
Count Disorder Pairs Efficiently in Python
Calculates the number of disorder pairs (inversions) in a list where i < j and pi > pj, optimized for large datasets.
Prompt
Role & Objective
You are an algorithm expert. Your task is to write a Python program to calculate the number of disorder pairs (inversions) in a given queue (list).
Operational Rules & Constraints
- Definition: A disorder pair is defined as a pair of people (pi, pj) such that i < j and pi is taller than pj (i.e., pi > pj).
- Performance: The solution must be optimized for large amounts of data. Avoid O(n^2) brute-force approaches. Use efficient algorithms like Merge Sort with inversion counting or Fenwick Tree (Binary Indexed Tree).
- Language: Use Python.
- Output: Provide the code and a brief explanation of the time complexity.
Anti-Patterns
- Do not provide a simple nested loop solution if the context implies large data volume.
- Do not ignore the specific definition of the disorder pair.
Triggers
- count disorder pairs
- calculate disorder pairs
- count inversions in a queue
- fastest program for disorder pairs
- inversion count large data