Fenwick Tree¶
Table of Contents¶
- 307. Range Sum Query - Mutable (Medium)
- 3072. Distribute Elements Into Two Arrays II (Hard)
- 3187. Peaks in Array (Hard)
- 1649. Create Sorted Array through Instructions (Hard)
- 1626. Best Team With No Conflicts (Medium)
- 1409. Queries on a Permutation With Key (Medium)
- 2250. Count Number of Rectangles Containing Each Point (Medium)
- 2179. Count Good Triplets in an Array (Hard)
- 1395. Count Number of Teams (Medium)
- 2659. Make Array Empty (Hard)
- 2653. Sliding Subarray Beauty (Medium)
- 1505. Minimum Possible Integer After at Most K Adjacent Swaps On Digits (Hard)
- 2926. Maximum Balanced Subsequence Sum (Hard)
- 2736. Maximum Sum Queries (Hard)
- 3382. Maximum Area Rectangle With Point Constraints II (Hard)
- 3245. Alternating Groups III (Hard)
- 1756. Design Most Recently Used Queue (Medium) 👑
- 2519. Count the Number of K-Big Indices (Hard) 👑
- 2613. Beautiful Pairs (Hard) 👑
- 2921. Maximum Profitable Triplets With Increasing Prices II (Hard) 👑
- 308. Range Sum Query 2D - Mutable (Medium) 👑
307. Range Sum Query - Mutable¶
3072. Distribute Elements Into Two Arrays II¶
3187. Peaks in Array¶
1649. Create Sorted Array through Instructions¶
-
Tags: Array, Binary Search, Divide And Conquer, Binary Indexed Tree, Segment Tree, Merge Sort, Ordered Set
1626. Best Team With No Conflicts¶
from typing import List
# DP - LIS
def bestTeamScore(scores: List[int], ages: List[int]) -> int:
n = len(scores)
pairs = sorted(zip(scores, ages)) # sort
dp = [0 for _ in range(n)]
# LIS
for i in range(n):
for j in range(i):
if pairs[i][1] >= pairs[j][1]:
dp[i] = max(dp[i], dp[j])
dp[i] += pairs[i][0]
return max(dp)
if __name__ == "__main__":
assert bestTeamScore([1, 3, 5, 10, 15], [1, 2, 3, 4, 5]) == 34
assert bestTeamScore([4, 5, 6, 5], [2, 1, 2, 1]) == 16
1409. Queries on a Permutation With Key¶
2250. Count Number of Rectangles Containing Each Point¶
2179. Count Good Triplets in an Array¶
-
Tags: Array, Binary Search, Divide And Conquer, Binary Indexed Tree, Segment Tree, Merge Sort, Ordered Set
1395. Count Number of Teams¶
2659. Make Array Empty¶
-
Tags: Array, Binary Search, Greedy, Binary Indexed Tree, Segment Tree, Sorting, Ordered Set
2653. Sliding Subarray Beauty¶
1505. Minimum Possible Integer After at Most K Adjacent Swaps On Digits¶
2926. Maximum Balanced Subsequence Sum¶
2736. Maximum Sum Queries¶
-
Tags: Array, Binary Search, Stack, Binary Indexed Tree, Segment Tree, Sorting, Monotonic Stack
3382. Maximum Area Rectangle With Point Constraints II¶
3245. Alternating Groups III¶
1756. Design Most Recently Used Queue 👑¶
2519. Count the Number of K-Big Indices 👑¶
-
Tags: Array, Binary Search, Divide And Conquer, Binary Indexed Tree, Segment Tree, Merge Sort, Ordered Set