摘要: "题目链接" Vector存图+Dijkstra最短路 翻了翻题解,貌似没有用vector进行存图的,既然这样那本蒟蒻就贴一个vector的题解。 题目思路比较简单,先跑一遍正常的最短路,然后枚举在这条最短路上的每一条边,将其长度翻倍,再跑一遍最短路,输出新的最短路减去旧的最短路之后的最大值。 本题 阅读全文
posted @ 2019-05-26 21:36 TinyKiecoo 阅读(94) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 看到题解里好多大佬用二分,splay,树状数组,优先队列等高级数据结构,然而本蒟蒻实在是渣,所以只能用最简单的纯vector写。 ~~(个人觉得比大佬们写的简单)~~ C++中stl表真的方便,其中向量vector支持数组中间插入: 先发出我 普通数组纯暴力30分 的代码~~来揭露普通 阅读全文
posted @ 2019-05-26 15:20 TinyKiecoo 阅读(122) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 我们首先想到的朴素算法就是根据$size$从大到小排序,枚举$f[i]$与$f[j]$,判断是否需要比较,时间复杂度约$O(n^2)$。 代码: 但是纯暴力代码只能得$50$分,我们可以想办法优化。↓ 我们把$size$从大到小排序后,则$f[x] f[x+1]$。于是,若$f[i]× 阅读全文
posted @ 2019-05-26 15:13 TinyKiecoo 阅读(90) 评论(0) 推荐(0) 编辑
摘要: "题目链接" Vector存图+Dijkstra最短路 翻了翻题解,貌似没有用vector存图的,既然这样那本蒟蒻就贴一个vector的题解。 题目思路比较简单,先跑一遍正常的最短路,然后枚举在这条最短路上的每一条边,将其长度翻倍,再跑一遍最短路,输出新的最短路减去旧的最短路之后的最大值。 本题关键 阅读全文
posted @ 2019-05-26 14:46 TinyKiecoo 阅读(116) 评论(0) 推荐(0) 编辑