[最小生成树] [LCA] [BZOJ4242] 水壶(bottle)
2017-01-12 02:30
288 查看
(不是权限题,直接传送)
(题目描述懒得复制粘贴了……)
题目给出了网格,求两格之间最短路径的最大值……
别想二分,直接最小生成树+LCA搞定。
怎么构出最小生成树?
单一跑建筑物是会T的,所以把所有建筑物都扔进队列跑BFS,记录一个建筑物拓展出的空地和与这个建筑物之间的距离。如果一次BFS搜到将要扩展的格子不属于自己,就将这两个格子的所属建筑物连边。跑MST…..
然后,果断货车运输,时间复杂度O(whα(p)+qlog2p)
还有几个鬼畜的注意事项。
请不要试图把MST存进数组,类似Hash的拉链法维护边权就行了。
在Windows下测试一定要开大栈空间,在Windows下大点会爆栈,但是Linux下就没有问题了……所以多炸炸题库……
打的时候才发现自己的货车运输加边加错了……
Code
(题目描述懒得复制粘贴了……)
题目给出了网格,求两格之间最短路径的最大值……
别想二分,直接最小生成树+LCA搞定。
怎么构出最小生成树?
单一跑建筑物是会T的,所以把所有建筑物都扔进队列跑BFS,记录一个建筑物拓展出的空地和与这个建筑物之间的距离。如果一次BFS搜到将要扩展的格子不属于自己,就将这两个格子的所属建筑物连边。跑MST…..
然后,果断货车运输,时间复杂度O(whα(p)+qlog2p)
还有几个鬼畜的注意事项。
请不要试图把MST存进数组,类似Hash的拉链法维护边权就行了。
在Windows下测试一定要开大栈空间,在Windows下大点会爆栈,但是Linux下就没有问题了……所以多炸炸题库……
打的时候才发现自己的货车运输加边加错了……
Code
相关文章推荐
- [算法] 关于algs4 MSD.java 高位优先的字符串排序 的逐行代码解释
- Pixhawk原生固件PX4之`error: ld return 1 exit status`编译问题解决
- 穷人富人的区别
- 穷人富人的区别
- 概率论问题_生日问题
- ubuntu重启、关机命令
- sklearn.GBDT 源码阅读(细节掌握)
- 《linux内核完全剖析》笔记06-内存管理
- Win7使用附件中的远程桌面连接Ubuntu 图形界面(xrdp方法)
- 关于机器学习中的朴素贝叶斯以及拉普拉斯平滑
- 你曾经是少年
- hittest和touch相关事件(粗浅理解,待后续整理)
- 说说qwerty、dvorak、colemak三种键盘布局
- Husky数据分析——关于最近房子在强力限购下的趋势分析
- Golang 指针的坑
- 百度地图JS 搜索悬浮窗功能
- 百度地图JS 搜索悬浮窗功能
- centos下配置mysql,jdk,tomcat
- BeautifulSoup
- 工位杂谈