當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
bzoj4484[JSOI2015]最小表示
生活随笔
收集整理的這篇文章主要介紹了
bzoj4484[JSOI2015]最小表示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意
給出一張DAG,要求刪除盡量多的邊使得連通性不變.(即:若刪邊前u到v有路徑,則刪邊后仍有路徑).點數30000,邊數100000.
分析
如果從u到v有(u,v)這條邊,且從u到v只有這一條路徑,那么這條邊必須保留.否則這條邊一定可以刪除.因為如果有不止一條路徑從u到v,必然存在點x(x!=u,x!=v)使得u可到達x,x可到達v.而刪邊后必然也滿足u可到達x,x可到達v,所以直接刪掉(u,v)這條邊就可以了.
剛才的分析已經給出了一個判定方法.既然如果有不止一條路徑從u到v,必然存在點x(x!=u,x!=v)使得u可到達x,x可到達v,那么我們對每條邊(u,v),枚舉是否存在這樣的x即可.這需要我們求出每個點能到達的點的集合,以及能到達這個點的集合.大力壓位一波就好了.因為是DAG所以這個集合可以遞推.復雜度O(nm/32).
其實這題是看內存猜算法系列,榜上清一色的120多兆,不是壓位還能是啥
我是200多兆
轉載于:https://www.cnblogs.com/liu-runda/p/6921499.html
總結
以上是生活随笔為你收集整理的bzoj4484[JSOI2015]最小表示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 芬兰高性能图表控件-免费试用并提供技术支
- 下一篇: 历史上魏忠贤是好人还是坏人(专家评价魏忠