ACM集训第三周总结

為{幸葍}努か 提交于 2019-11-26 19:13:44

学习内容:图论算法,最小生成树(Kruskal,prim),最短路径(Dijkstra,bellman ford,Floyd),字典树,线段树,拓扑排序,并查集。
总结: 本周要学内容的也很多,所以也没有全部学完比如拓扑排序,种类并查集等。不过这周题目的思维难度没有上周的难,基本流程就是:看懂算法→记好模板→看懂题目→转化成图论模型→套用模板就能完成大部分的题啦。但是还是有很多写得很困难的题,D题blabla不知道是要求什么东西,看了题解才发现是要求最大路径是否有正环,跟一般的求最短路径完全相反。E题一开始用dijkstra求最短路径但也不知道怎么求出最小的最大跳跃距离,看了别人的思路才最到是用dijkstra的方法维护一个到某点的最小的最大跳跃距离d[]数组,而不是笼统地套用模板把d[]数组看成是到某点的最小路径,还有F题可能会有多个相同的边但权值不同,所以输入要处理一下,权值要是最小的才有效,实在有点坑。
一个问题可能有多种不同的算法可以求解,一般最小生成树我都用kruskal+并查集这样写的快效率高;最短路径如果没有负权的话就直接dijkstra,有负权则用SPFA,folyd最简单但也最容易超时,三重循环看着都感觉会TLE。其实kruskal还可以用优先队列优化

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!