ACM集训第三周总结

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

转载于:https://www.cnblogs.com/megadeth/p/11330553.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值