1595. 두 포인트 그룹을 연결하는 데 필요한 최소 비용
난이도:어려움
주제: 배열, 동적 프로그래밍, 비트 조작, 매트릭스, 비트마스크
첫 번째 그룹은 크기1점, 두 번째 그룹은 크기2점, 크기1 > = 크기2.
두 점 사이의 연결 비용은 크기1 x 크기2 행렬로 제공됩니다. 여기서 비용[i][j]는 점 i를 연결하는 비용입니다. 첫 번째 그룹과 두 번째 그룹의 점 j. 두 그룹의 각 포인트가 반대 그룹의 하나 이상의 포인트에 연결되면 그룹이 연결됩니다. 즉, 첫 번째 그룹의 각 점은 두 번째 그룹의 점 중 적어도 하나와 연결되어야 하고, 두 번째 그룹의 각 점은 첫 번째 그룹의 점 중 적어도 하나와 연결되어야 합니다.
두 그룹을 연결하는 데 필요한 최소 비용을 반환합니다.
예 1:
1--A 2--B This results in a total cost of 17.
예 2:
1--A 2--B 2--C 3--A This results in a total cost of 4.
첫 번째 그룹의 점 2와 두 번째 그룹의 점 A에 여러 개의 점이 연결되어 있습니다. 연결할 수 있는 포인트 수에는 제한이 없으므로 이는 중요하지 않습니다. 우리는 최소한의 총 비용만을 고려합니다.
예 3:
제약조건:
힌트:
해결책:
비트마스킹을 통해 동적 프로그래밍을 활용할 수 있습니다. 첫 번째 그룹의 각 포인트를 고려하고 이를 두 번째 그룹의 모든 포인트에 연결하려고 노력하여 비용을 최소화한다는 아이디어입니다.
주 대표:
상태 전환:
기본 사례:
목표:
이 솔루션을 PHP: 1595로 구현해 보겠습니다. 두 포인트 그룹을 연결하는 데 필요한 최소 비용
설명:
이러한 접근 방식은 문제의 제약을 효율적으로 처리하고 두 그룹을 연결하는 데 드는 비용을 최소화합니다.
연락처 링크
이 시리즈가 도움이 되었다면 GitHub에서 저장소에 별표를 표시하거나 즐겨찾는 소셜 네트워크에서 게시물을 공유해 보세요. 여러분의 지원은 저에게 큰 의미가 될 것입니다!
이렇게 더 유용한 콘텐츠를 원하시면 저를 팔로우해주세요.
위 내용은 두 포인트 그룹을 연결하는 데 필요한 최소 비용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!