首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

这个有关问题有更好的方法求解么

2012-09-07 
这个问题有更好的方法求解么?http://www.51nod.com/question/index.html#questionId284Hdu 1598 最舒适路

这个问题有更好的方法求解么?
http://www.51nod.com/question/index.html#questionId=284

Hdu 1598 最舒适路径

XX星有许多城市,城市之间通过一种奇怪的高速公路SARS(Super Air Roam Structure---超级空中漫游结构)进行交流,每条SARS都对行驶在上面的Flycar限制了固定的Speed,同时XX星人对 Flycar的“舒适度”有特殊要求,即乘坐过程中最高速度与最低速度的差越小乘坐越舒服 ,(理解为SARS的限速要求,flycar必须瞬间提速/降速,痛苦呀 ),
但XX星人对时间却没那么多要求。要你找出一条城市间的最舒适的路径。

目前有个最坏O(m^2)的方法,求优化。分治可以么?

[解决办法]
仿最短路径算法 不过记录的非最短路径长度 而是乘坐过程中最高速度与最低速度的差的最大值
[解决办法]
alpha(n)哪去了?(笑)
其实同样复杂度还有更简单的做法,枚举最小边扩展最大边,还是O(e^2*alpha(e))。
这题出处是warmup的话出题人估计自己也没期待优于这个的算法。

不过你的方法可以把问题转化为一个动态维护连通性的问题,只要有一个高效的数据结构支持加减边以及查询两点是否连通就行了。

http://dl.acm.org/citation.cfm?doid=276698.276715
这篇paper做了一个O(log^2 n)的办法,套到这道题就有O(e*log^2 e)了。当然这个previous work里任何一个都不是好写的。
[解决办法]
舒适路径的问题,G(V,E)集合的话,能做到E*Lg(E)就是比较文艺了。 

线段树,适合不适合这个问题?

热点排行