Rumah > Artikel > pembangunan bahagian belakang > Kos Minimum untuk Menghubungkan Dua Kumpulan Mata
1595. Kos Minimum untuk Menghubungkan Dua Kumpulan Mata
Kesukaran: Sukar
Topik: Tatasusunan, Pengaturcaraan Dinamik, Manipulasi Bit, Matriks, Bitmask
Anda diberi dua kumpulan mata di mana kumpulan pertama mempunyai saiz1 mata, kumpulan kedua mempunyai saiz2 mata, dan saiz1 > = saiz2.
Kos sambungan antara mana-mana dua titik diberikan dalam saiz1 x saiz2 matriks dengan kos[i][j] ialah kos penyambungan titik i daripada kumpulan pertama dan titik j kumpulan kedua. Kumpulan disambungkan jika setiap titik dalam kedua-dua kumpulan disambungkan kepada satu atau lebih titik dalam kumpulan bertentangan. Dalam erti kata lain, setiap titik dalam kumpulan pertama mesti disambungkan kepada sekurang-kurangnya satu titik dalam kumpulan kedua dan setiap titik dalam kumpulan kedua mesti disambungkan kepada sekurang-kurangnya satu titik dalam kumpulan pertama.
Pulangan kos minimum yang diperlukan untuk menyambung dua kumpulan.
Contoh 1:
1--A 2--B This results in a total cost of 17.
Contoh 2:
1--A 2--B 2--C 3--A This results in a total cost of 4.
Perhatikan bahawa terdapat berbilang titik disambungkan ke titik 2 dalam kumpulan pertama dan titik A dalam kumpulan kedua. Ini tidak penting kerana tiada had bilangan mata yang boleh disambungkan. Kami hanya mengambil berat tentang jumlah kos minimum.
Contoh 3:
Kekangan:
Petunjuk:
Penyelesaian:
Kami boleh memanfaatkan pengaturcaraan dinamik dengan bitmasking. Ideanya adalah untuk meminimumkan kos dengan mempertimbangkan setiap titik dalam kumpulan pertama dan cuba menyambungkannya ke semua titik dalam kumpulan kedua.
Perwakilan Negeri:
Peralihan Negeri:
Kes Asas:
Matlamat:
Mari laksanakan penyelesaian ini dalam PHP: 1595. Kos Minimum untuk Menghubungkan Dua Kumpulan Mata
Penjelasan:
Pendekatan ini mengendalikan kekangan masalah dengan cekap dan memastikan kos minimum untuk menyambungkan dua kumpulan.
Pautan Kenalan
Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberi repositori bintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna bagi saya!
Jika anda mahukan kandungan yang lebih berguna seperti ini, sila ikuti saya:
Atas ialah kandungan terperinci Kos Minimum untuk Menghubungkan Dua Kumpulan Mata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!