BZOJ2654: tree(陈立杰)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                BZOJ2654: tree(陈立杰)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                2654: tree(陳立杰)
Time Limit: 30 Sec??Memory Limit: 512 MBSubmit: 229??Solved: 91
[Submit][Status]
Description
  給你一個無向帶權連通圖,每條邊是黑色或白色。讓你求一棵最小權的恰好有need條白色邊的生成樹。
   題目保證有解。
Input
  第一行V,E,need分別表示點數,邊數和需要的白色邊數。
   接下來E行
   每行s,t,c,col表示這邊的端點(點從0開始標號),邊權,顏色(0白色1黑色)。
Output
一行表示所求生成樹的邊權和。
Sample Input
2 2 10 1 1 1
0 1 2 0
Sample Output
2HINT
數據規模和約定
   0:V<=10
   1,2,3:V<=15
   0,..,19:V<=50000,E<=100000
   所有數據邊權為[1,100]中的正整數。
?
思路:我們發現,如果我們給白邊增加權值,做最小生成樹,由于白邊權值增大,導致不容易選白邊。記f(x)為給白邊增加x權值,做最小生成樹后,選白邊的數量,可以發現,f(x)隨x增大而減小。所以可以二分x
但這種情況,假如我只能選1條白邊。
二分到x=4時,一條白邊都不選,當x=3的時候,可以選兩條白邊
轉載于:https://www.cnblogs.com/cssystem/p/3654750.html
總結
以上是生活随笔為你收集整理的BZOJ2654: tree(陈立杰)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: x58添加uefi_X58平台老台式机升
 - 下一篇: TabLayout实现标签切换