永发信息网

ACM 1233 还是畅通工程,我用的是并查集的思路,其中排序用的冒泡,提交显示超时,求指导,问题出在哪

答案:2  悬赏:0  手机版
解决时间 2021-11-28 03:26
ACM 1233 还是畅通工程,我用的是并查集的思路,其中排序用的冒泡,提交显示超时,求指导,问题出在哪
最佳答案
冒泡排序的时间复杂度是o(n^2),但是这个n指的是待排序的元素数量,这题里输入的点数是n,边数是n(n-1)/2,也就是n^2级别的边数,你这里要排序的是边,所以你用冒泡的时间复杂度就是o((n^2)^2)=o(n^4),这题n是100,n^4=10亿,一般OJ上1亿级别的复杂度就要跑接近1秒,你这单组数据就10亿,更别说题目还是多组数据,必然超时。这题要排序边的话必须要用o(nlogn)复杂度的排序,比如快速排序、堆排序和归并排序。
另外,除开排序,你这代码本身逻辑也有问题啊,你试一下这组数据:
4
1 2 1
1 3 7
1 4 8
2 3 9
2 4 7
3 4 1
答案应该是9。
你说用到并查集,我完全没看到并查集在哪里啊,这题就是个完全图的最小生成树,用prim算法会好一点,用kruskal算法的话并查集部分还要加上路径压缩才不会超时。你这里的town数组其实只有等于node和不等于node两种状态是有用的,node的值又不会变,这和boolean数组没什么实质的区别,这就是个标记数组,而不是并查集。
全部回答
用冒泡是N^4的算法啊,明显超时好么追问不是n^2吗有哪个算法能提升很多吗追答怎么能是N^2,数据量是N^2,冒泡是数据量的平方,不就是N^4
快排就快的多了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
螃蟹的基本信息
烟台通伸街道办事处属于哪个社区
北芪芡实猪腰汤的作用
狂飙3三十九度拉球怎么样?多久能适应新胶皮
大家好,请问一些电器具接地电阻的判定标准是
个人交国税5万以上收几个点
求圆曲线带缓和曲线偏角法计算公式
问一下人为什么能遗传自己的特点给自己的后代
一个自然数除以19余9,除以23余7,这个自然数最
宾得DA17-70镜头怎样拍摄人像
为啥私营油站比中石化便宜那么多?加了之后伤
襄城到郑州的车最早几点,多少钱,在什么地方
H20R1203用数字万能表 怎么测试
150x+200x=1400,那x等于多少
伐加偏旁可以组成什么字
推荐资讯
问下公司申请承装(修、试)四级资质
如何将程序复制到re文件管理器
手机打电话8分钱一分钟真的吗?
平朋友是什么意思
大家防战内战怎么打的
正宗鸡蛋酥脆虾的做法,鸡蛋酥脆虾怎么做好吃
从集宁新区新时代家园到集宁战役纪念馆公交线
高中英语必修三填空题
3,戊酮酸的化学结构式怎么写
招商银行信用卡3000分六个月利息多少?
单选题体育课上用的铅球用了多年后,其表面麿
女朋友让我吃了她什么意思?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?