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¶
-
Tags: Array, Binary Search, Dynamic Programming, Binary Indexed Tree, Segment Tree
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