随笔分类 -  优化—倍增

摘要:先跑spfa求出最短路构成的DAG,然后在DAG上跑出支配树dfs出size取max即可 关于支配树,因为是DAG,支配点就是入点在支配树上的lca,所以一边拓扑一边预处理倍增,然后用倍增求lca cpp include include include include include using n 阅读全文
posted @ 2019-06-13 15:54 lokiii 阅读(168) 评论(0) 推荐(0)
摘要:方案二选一,显然是最小割,朴素的想法就是一排人点一排边点,分别向st连流量1的边,然后人点向路径上的边点连流量inf的边跑最大流 但是路径可能很长,这样边数就爆了,所以考虑倍增,然后倍增后大区间向小区间连,这样路径只要连向log个区间就行了,然后跑最大流 输出方案是在残量网络上从s点沿着没满流的边b 阅读全文
posted @ 2019-06-11 09:37 lokiii 阅读(254) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-10-22 11:45 lokiii 阅读(3) 评论(0) 推荐(0)
摘要:怜贫济困是人道 哪有个袖手旁观在壁上瞧? 阅读全文
posted @ 2018-09-28 16:00 lokiii 阅读(137) 评论(0) 推荐(0)
摘要:倍增数组的20和N写反了反复WAWAWA…… 注意到a和b在每个点上出发都会到一个指定的点,所以这样构成了两棵以n点为根的树 假设我们建出了这两棵树,对于第一问就可以枚举起点然后倍增的找出ab路径长度的比值,第二问同理,这里倍增的时候注意是先跳a再跳b,所以同一个点b的倍增数组要从a在这个点的的父亲 阅读全文
posted @ 2018-09-08 10:56 lokiii 阅读(152) 评论(0) 推荐(0)