Codeforces - 1253D - Harmonious Graph
★ Today's tune: https://youtu.be/LZZexCVBHfM
★ Tags: dfs, sortings
★ Difficulty: 1700
Cho đồ thị vô hướng với n đỉnh và m cạnh. Cần thêm bao nhiêu cạnh để với mỗi bộ ba L, M, R (1≤L<M<R≤n) lần lượt là 3 đỉnh trong đồ thị đã cho thoả điều kiện: Nếu có đường đi từ L tới R thì cũng sẽ có đường đi từ L tới M.
★ Ý tưởng: Đầu tiên ta sẽ dùng dfs để tìm đỉnh nhỏ nhất và đỉnh lớn nhất trong 1 thành phần liên thông. Sau đó sắp xếp lại danh sách thành phần liên thông đã tìm được theo thứ tự tăng dần của đỉnh nhỏ nhất trong mỗi thành phần liên thông.
Giả sử có 2 tplt i và j: đỉnh nhỏ nhất và lớn nhất của i lần lượt là minV[i], maxV[i]; đỉnh nhỏ nhất và lớn nhất của j lần lượt là minV[j], maxV[j] -> nếu minV[j] <= maxV[i] khi đó mọi đỉnh của j lớn hơn hoặc bằng minV[j] và nhỏ hơn hoặc bằng maxV[i] sẽ phải thuộc i, suy ra j phải liên thông với i để thoả yêu cầu đề bài.
★ Code: https://ideone.com/iBSA8K
hay qua anh oi, ma em thay con ez qua. cho kho len chut di anh
ReplyDeletetrình anh sao bằng master pait được, bài khó chắc phải nhờ master pait giải thôi
Deleteanh chi can master pait la master code duoc a
Deletelove from gẻmany