LmaoSuVuong
Senior Member
mới thấy hashset chứ chưa nhìn ra graph chỗ nàoBài hay cho anh em luyện graph:
![yBBewst.png](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2FyBBewst.png&hash=cf3cb473ae075610f5c048855b69c292)
mới thấy hashset chứ chưa nhìn ra graph chỗ nàoBài hay cho anh em luyện graph:
cứ làm hash đi, làm ko ra sẽ tự ngộ ra graph thuimới thấy hashset chứ chưa nhìn ra graph chỗ nào![]()
Bài này nhìn có vẻ là union find hơn chứ nhỉcứ làm hash đi, làm ko ra sẽ tự ngộ ra graph thui
Union xong làm thế nào bác filter được recipe nào là possible, find lên trên thì không khả thi, find xuống dưới thì root không cố định rồiBài này nhìn có vẻ là union find hơn chứ nhỉ
5s đầu là mình cũng suy nghĩ dùng Union Find để tính rank đấy. May rút kịp nhận ra là bài này Graph ChinaBài này nhìn có vẻ là union find hơn chứ nhỉ
Mang ngay đề contest chính thức đến đây. Mang ngay graph của leetcode đến đây. Anh em 2Q Gang và thí sinh tự do của chúng tôi đã sẵn sàng hết rồi. Mang ngay những câu khó nhất đến đây, khó hơn codeforce cho chúng tôi. Tổ chức thi luôn đi. Anh em đâu, xung phongTuần này contest ra graph rồi, lâu ko làm graph nhìn lúc mới ra greedyfake vl
via theNEXTvoz for iPhone
Đúng sv trường top có khác, chiến quáMang ngay đề contest chính thức đến đây. Mang ngay graph của leetcode đến đây. Anh em 2Q Gang và thí sinh tự do của chúng tôi đã sẵn sàng hết rồi. Mang ngay những câu khó nhất đến đây, khó hơn codeforce cho chúng tôi. Tổ chức thi luôn đi. Anh em đâu, xung phong![]()
e học trường làng thôiĐúng sv trường top có khác, chiến quá
class Solution {
public long maximumImportance(int n, int[][] roads) {
long[] count = new long[n];
long maxSum = 0;
for(int[] road:roads){
count[road[0]]++;
count[road[1]]++;
}
Arrays.sort(count);
for(int i = count.length -1; i>=0;i--){
maxSum += count[i]*n;
n--;
}
return maxSum;
}
}
class Solution {
int U = 0;
int V = 1;
public long maximumImportance(int n, int[][] roads) {
int[] adjacentCounter = linkCounter(roads, n);
Arrays.sort(adjacentCounter);
long sum = 0;
for (int i = n; i>= 1; i--) {
sum += 1L * adjacentCounter[i - 1] * i;
}
return sum;
}
public int[] linkCounter(int[][] roads, int n) {
int[] adjacentCounter = new int[n];
for (int[] road : roads) {
adjacentCounter[road[U]]++;
adjacentCounter[road[V]]++;
}
return adjacentCounter;
}
}
đọc đề chưa hiểu thì xuống xem testcase chạy như nào chứ fen ngồi ôm đề làm gìĐọc đề 15p mới hiểu là bài toán đánh số mà thấy comment ai cũng kêu dễJava:class Solution { public long maximumImportance(int n, int[][] roads) { long[] count = new long[n]; long maxSum = 0; for(int[] road:roads){ count[road[0]]++; count[road[1]]++; } Arrays.sort(count); for(int i = count.length -1; i>=0;i--){ maxSum += count[i]*n; n--; } return maxSum; } }
![]()
class Solution:
def maximumImportance(self, n: int, roads: List[List[int]]) -> int:
return sum([j * (n - i) for i, j in enumerate(sorted(Counter([x for y in roads for x in (y[0], y[1])]).values(), reverse = True))])
Có chắc là O(n) không vậy thím? Em thấy cóPython:class Solution: def maximumImportance(self, n: int, roads: List[List[int]]) -> int: return sum([j * (n - i) for i, j in enumerate(sorted(Counter([x for y in roads for x in (y[0], y[1])]).values(), reverse = True))])
sorted
mà nhỉ?Ừ nhỉ mình quên hàm sorted, để sửa lại TC :vCó chắc là O(n) không vậy thím? Em thấy cósorted
mà nhỉ?
class Solution:
def maximumImportance(self, n: int, roads: List[List[int]]) -> int:
mp = {}
ans = 0
for [s , e] in roads:
mp[s] = mp.get(s , 0) + 1
mp[e] = mp.get(e , 0) + 1
pq = []
for v in mp.values(): heapq.heappush(pq , -v)
for i in range(n , 0 , -1):
a = 0
if pq: a = heappop(pq)
ans += -1 * a * i
return ans
đúng hcmus có khácMang ngay đề contest chính thức đến đây. Mang ngay graph của leetcode đến đây. Anh em 2Q Gang và thí sinh tự do của chúng tôi đã sẵn sàng hết rồi. Mang ngay những câu khó nhất đến đây, khó hơn codeforce cho chúng tôi. Tổ chức thi luôn đi. Anh em đâu, xung phong![]()
đúng hcmus có khác
e học trường làng thôi, bạn e mới học trường top![]()
![]()
Ko sao đâu trường tốp đọc big-O xịt cũng là bình thường mà có gì ngại đâu mà phải giấu