[问题] ZJ d847: 2D rank finding problem

楼主: xiefengan (安)   2018-10-17 00:50:14
这学期学校在学算法
刚好教到divide-and-conquer
老师出了一个2D Ranking的题目
学校方面的是写完了 毕竟测资自己订
小弟之前也有写Online Judge的习惯
想说找个judge测看看结果不会过
以下为程式码
https://pastebin.com/XcKRH9z8
我的思考方式是先对全部的资料以x做大小排序
然后递回
剩一个就不动作
两个的话互比y值再看要不要swap(以y排序)
大于两个就拿右边递回的比左边递回的资料(左边x值已经小于右边所以只需比y)
然后做Ranking
(可能解释的不太好)
目前丢上去遇到:
我的答案:4040
正确答案:4038
想请问我的思考方向正确吗
还是程式码有哪里没考虑周到的吗
谢谢><
作者: FRAXIS (喔喔)   2018-10-17 11:05:00
题目到底是什么??
作者: c910335 (达人)   2018-10-17 16:19:00
乍看之下你的程式码是常数很大的 O(n^2)两个两个比对硬做的 O(n^2) 比你写的简单而且更快思路大致上是可行的但是你有想过你的实作还是比较了每一对 甚至比较了更多次用这么复杂的实作比暴力还慢有什么意义吗

Links booklink

Contact Us: admin [ a t ] ucptt.com