第一题一个能快5倍的方法

aliceZOOZ 2007-07-24 08:16:31
因为最后测试是5次提交取最高成绩。
假如输入是num个数字,那么交5个程序,
第一个程序只读取/处理 0..num/5 的数据
第二个只读取/处理 num/5..2*num/5 的数据,
以此类推。每一个程序都只读取/处理 1/5 的数据。
5个程序必然有一个能找到正确答案。而且每个程序运行时间都是正常的1/5。
所以这个方法可以将现有的速度提高5倍。

规则并没有禁止这种做法,也正是它的规则(取5次最高)导致这种做法的可行性。
不知道这种做法是否允许,如果不允许,主办方打算如何避免这种情况?
...全文
333 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuhuimiao 2007-07-25
  • 打赏
  • 举报
回复
这种方法能每次测试多组数据吗?
每次测试的数据不一样如何保证程序的正确性?

另外,相同精度的浮点数乘法时间应该相同吧。
xuhuimiao 2007-07-25
  • 打赏
  • 举报
回复
如果测试多组数据,成绩取最快,最慢或平均,只要对大家的标准一致,都是可以接受的,我个人觉得取平均更加合理。
根据概率统计的特点,只要测试的数据组数足够多,最终平均运行时间是会收敛的。

大家不要抱侥幸的心理,即使主办方不看全部看3000人的代码,前20个人的代码肯定会看的。
aliceZOOZ 2007-07-25
  • 打赏
  • 举报
回复
应该会有 与 会有 是有差别的。。
茶禅如水 2007-07-25
  • 打赏
  • 举报
回复
评审阶段应该会有人工审查和多组同数量级测试数据,不用担心
maplesx 2007-07-25
  • 打赏
  • 举报
回复
我写了一个第一题的测试数据生成器,大家试用一下提点建议:
http://maplesx.googlepages.com/test1_test-data_creater.exe
aliceZOOZ 2007-07-25
  • 打赏
  • 举报
回复
to xuhuimiao
这种方法能每次测试多组数据吗?
每次测试的数据不一样如何保证程序的正确性?

正如你所说,这个方法无法保证这种情况下的正确性。
但官方并没有公布测试方法。如果只测试一个数据,这便是一个很大的空子可以钻。
如果测试多个数据,那运行时间如何计算,取最慢的/最快的还是总时间?规则中说的“取5个程序最快一次运行”,是每个数据分别取最快的,还是总时间取最快的?这些都没有说清楚。这都暗示只测试一个数据。
godss 2007-07-25
  • 打赏
  • 举报
回复
强烈建议用多组测试数据测试,1组也太弱了……
aliceZOOZ 2007-07-24
  • 打赏
  • 举报
回复
真的可以吗?如果可以我就注册个新帐号把原来的程序这样改了后再交5次。。。

admire 2 楼那位,居然能看到1.0乘1.0和9999.9乘9999.9的时间差别。
ai_3621 2007-07-24
  • 打赏
  • 举报
回复
有道理。如果没有代码审查的话,当然可以了。
maplesx 2007-07-24
  • 打赏
  • 举报
回复
找到正确答案的那个程序不一定是速度最快的,每个程序的速度并不一定是1/5,不同的数值运算强度不同,1.0乘1.0和9999.9乘9999.9的时间是有差别的。
内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。

568

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧