[题解+总结]20151019图论
2015-10-20 14:29
225 查看
1、前言
今天说实话并不算太难的吧,没太多好说的。
2、Transform 变换序列
来源:BZOJ 1562 / NOI2009
链接:/article/6239536.html
3、Graph 最大子图
来源:BZOJ 1093 / ZJOI2007
链接:/article/6239538.html
4、Dist 最短路
大概题意:给定平面上的n 个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1 号点走到n 号点的最小费用。
总结:考试的是想方设法找到能够简便的方式进行判断,觉得应该是要从一些点去寻找突破口的,但是很久都没有发现,只能直接暴力连边去跑SPFA了。
题解:
最短路是显然的,但是同样暴力连边会TLE也是显然的。这个时候我们要想个办法找到一些没有用的点删掉。假设当前存在两个点i,j,x距离为|xi-xj|。若存在一个点k,有xi<=xk<=xj,则从i到k然后从k到j,必定不会比从i到j差。为什么?因为还要考虑y方向的距离,如果|yi-yk|+|yk-yj|<=|xi-xk|+|xk-xj|,显然是要优于或等于从i到j的;如果|yi-yk|+|yk-yj|>|xi-xk|+|xk-xj|,那么和从i到j答案相同。
所以在连边的时候,首先将所有点按x排序,相邻点相连;再按y排序,相邻点相连。接着跑O(n log n)的Dijkstra吧(别用SPFA作死)。
5、Planar 平面图判定
来源:BZOJ 1997 / HNOI2010
链接:/article/6239537.html
今天说实话并不算太难的吧,没太多好说的。
2、Transform 变换序列
来源:BZOJ 1562 / NOI2009
链接:/article/6239536.html
3、Graph 最大子图
来源:BZOJ 1093 / ZJOI2007
链接:/article/6239538.html
4、Dist 最短路
大概题意:给定平面上的n 个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求从1 号点走到n 号点的最小费用。
总结:考试的是想方设法找到能够简便的方式进行判断,觉得应该是要从一些点去寻找突破口的,但是很久都没有发现,只能直接暴力连边去跑SPFA了。
题解:
最短路是显然的,但是同样暴力连边会TLE也是显然的。这个时候我们要想个办法找到一些没有用的点删掉。假设当前存在两个点i,j,x距离为|xi-xj|。若存在一个点k,有xi<=xk<=xj,则从i到k然后从k到j,必定不会比从i到j差。为什么?因为还要考虑y方向的距离,如果|yi-yk|+|yk-yj|<=|xi-xk|+|xk-xj|,显然是要优于或等于从i到j的;如果|yi-yk|+|yk-yj|>|xi-xk|+|xk-xj|,那么和从i到j答案相同。
所以在连边的时候,首先将所有点按x排序,相邻点相连;再按y排序,相邻点相连。接着跑O(n log n)的Dijkstra吧(别用SPFA作死)。
5、Planar 平面图判定
来源:BZOJ 1997 / HNOI2010
链接:/article/6239537.html
相关文章推荐
- gvim配置成IDE
- ADOConnection 连接PostgreSQL数据库
- iOS 8 使用CoreLocation定位配置
- Android使用百度翻译api
- AX2009 C#客户端通过Web service批量审核工作流(二)
- 基于jQuery实现的扇形定时器附源码下载
- linux内核链表分析与实践
- 在操作系统上安装Ruby解释器的教程
- MirageOS 什么鬼?它为什么重要?
- Block - 4
- mysql分区
- Android M 新的运行时权限开发者需要知道的一切
- redis渗透中的getshell问题总结
- jdbc(java连接数据库oracle)
- 团队博客作业Week3 --- 项目选择&&需求疑问
- 设计模式六大原则
- java遍历hashMap、hashSet、Hashtable
- java mock-Mockito
- Brewing ImageNet
- 8.2.1.7 Use of Index Extensions 索引扩展适用