网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
04月30日
漏签
0
天
c语言吧
关注:
799,026
贴子:
4,354,877
看贴
图片
吧主推荐
视频
游戏
27
回复贴,共
1
页
<<返回c语言吧
>0< 加载中...
关于一个路线解法效率的讨论
只看楼主
收藏
回复
SeaDrip_Poplar
葱の帝球
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
半年前在吧里看到了一个求助贴,当时因为工作比较忙,只是收藏了一下,今天才翻出来研究,拿自己的解法和原贴回复中大佬给的解法比较了一下,想和吧友们讨论哪种解法更优一点,二楼附原贴链接
SeaDrip_Poplar
葱の帝球
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
原贴地址
http://tieba.baidu.com/p/5784357495
没敢写在一楼,怕度受瞎吞
重庆范本库科技有限公司
c语言
,文档下载,来泛文库,优秀的文档资源分享平台;涵盖合同协议/办公文档/试卷题库/工程文件等优质资料。内容完整,正规实用,支持任意编辑打印下载!
2025-04-30 18:29
广告
立即查看
广告
立即查看
Baka9
麻婆豆腐
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
快发你的解法
SeaDrip_Poplar
葱の帝球
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
拿到问题我的第一反应和原贴回复中大佬给的方法差不多,每两点确定一个斜率,但我认为这题中只需要确定一个斜率,不需要截距,因为原题只要求给出一个飞行路线,而没要求必须以给定的点作为起、终点
我的解法是确定斜率以后再次遍历所有的点,数出落在这条线上的点有多少个,取命中的最大值作为结果,原贴回复的大佬建议的解法则是把斜率的出现最多次数作为结果
想和吧友们讨论一下从实现的角度来说这两种解法哪种实现更优一点,或者有没有更优的解法
SeaDrip_Poplar
葱の帝球
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
为了代码实现时书写更清晰,请原谅楼主使用了CPP
附上核心部分代码(为防度受吞格式,直接贴图片了):
SeaDrip_Poplar
葱の帝球
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
为了防止使用浮点数保存斜率存在精度方面的问题,楼主是使用两个整数来保存斜率的,也请吧友们讨论解法的时候参考一下精度问题
SeaDrip_Poplar
葱の帝球
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
冒昧艾特一下原贴给出解法建议的大佬,求讨论
@心眼观物
Baka9
麻婆豆腐
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你怎么确定这个斜率的
广告
立即查看
Baka9
麻婆豆腐
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你俩复杂度一样 你这个单次少算一点点 所以好一点
挥洒
帕秋莉糕
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
斜率不存在的情况你要怎样考虑
挥洒
帕秋莉糕
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
直接应用直线的一般方程:Ax+By+C=0
A = Y2 - Y1
B = X1 - X2
C = X2*Y1 - X1*Y2
因为同一条直线ABC系数不唯一,规定一种最简形式,比如AB互质,且A恒为正;A或B其中一个为零的情况,规定另一个等于1。这样便于比较。
SeaDrip_Poplar
葱の帝球
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
之前问题考虑有误,斜率是需要考虑的,修正部分代码如图
加入了截距的保存和比较,至于楼上大佬说的斜率不存在的情况,因为我都是通过整数乘法和加减法实现的,所以可以兼容斜率为0的情况
SeaDrip_Poplar
葱の帝球
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
原贴回复中大佬给出的解法我也实现了一下,但按我实现的方法需要遍历所有已出现过的斜率,当已存在的斜率数量大于给出的点的数量时单次循环需要的时间会比我的解法更长,总体时间我现在还不确定,大佬解法实现代码如图
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示