P3357 最长k可重线段集问题(网络流/串联/拆点)
生活随笔
收集整理的這篇文章主要介紹了
P3357 最长k可重线段集问题(网络流/串联/拆点)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
P3357 最長(zhǎng)k可重線段集問(wèn)題
對(duì)于n條開(kāi)線段,選擇一個(gè)子集使得任意x=p和子集相交的直線個(gè)數(shù)小于等于k,并使得選擇的線段長(zhǎng)度之和最大。
這道題看上去和區(qū)間集沒(méi)有什么區(qū)別,只是費(fèi)用發(fā)生變化,但是要注意一個(gè)特殊情況,那就是線段和x軸垂直的情況,這個(gè)時(shí)候如果還是按照之前的方法連邊,那么就會(huì)出現(xiàn)自環(huán),那么在這個(gè)點(diǎn)就可以流無(wú)限次,就無(wú)法滿足k的限制,所以我們要將這樣的點(diǎn)進(jìn)行拆點(diǎn),然后就可以滿足限制了。
總結(jié)
以上是生活随笔為你收集整理的P3357 最长k可重线段集问题(网络流/串联/拆点)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2019 Python100道 面试 题
- 下一篇: P2494 [SDOI2011]保密(网