数列求和 腾讯编程马拉松 上传者:xiangyuwcw 2020-08-12 11:38:10上传 CPP文件 1.98KB 热度 24次 给定n个数字和一个范围[x,y],求从这n个数字中任意取出一些数字,使得它们的和在范围[x,y]中有多少种取法。 输入: 输入第一行为整数case,case 下载地址 用户评论 更多下载 下载地址 立即下载 用户评论 码姐姐匿名网友 2020-08-12 11:38:10 运用了很多STL,不错 码姐姐匿名网友 2020-08-12 11:38:10 感谢分享。看了下,大概就是把数组分成前后两部分运行;之后把每部分的所有组合的值保留起来放在leftSet和rightSet里,如果两个集合里有一对元素的和满足条件则加到总结果中去。代码中对集合进行了排序以加快寻找符合条件对的过程。如果在寻找符合条件对的时候用二分查找,则可变成a(n)=2*a(n/2)+O((n/2)!),则复杂度可将为O(logn*(n/2)!)。(后面部分只是粗略算了下,如果错了请轻拍-_-||) 码姐姐匿名网友 2020-08-12 11:38:10 可以运行,没有注释。 码姐姐匿名网友 2020-08-12 11:38:10 可以运行,但是没有注释,没有讲实现原理。 发表评论 xiangyuwcw 资源:1 粉丝:0 +关注 上传资源 免责说明 本站只是提供一个交换下载平台,下载的内容为本站的会员网络搜集上传分享交流使用,有完整的也有可能只有一分部,相关内容的使用请自行研究,主要是提供下载学习交流使用,一般不免费提供其它各种相关服务! 本站内容泄及的知识面非常广,请自行学习掌握,尽量自已动脑动手解决问题,实践是提高本领的途径,下载内容不代表本站的观点或立场!如本站不慎侵犯你的权益请联系我们,我们将马上处理撤下所有相关内容!联系邮箱:server@dude6.com
运用了很多STL,不错
感谢分享。看了下,大概就是把数组分成前后两部分运行;之后把每部分的所有组合的值保留起来放在leftSet和rightSet里,如果两个集合里有一对元素的和满足条件则加到总结果中去。代码中对集合进行了排序以加快寻找符合条件对的过程。如果在寻找符合条件对的时候用二分查找,则可变成a(n)=2*a(n/2)+O((n/2)!),则复杂度可将为O(logn*(n/2)!)。(后面部分只是粗略算了下,如果错了请轻拍-_-||)
可以运行,没有注释。
可以运行,但是没有注释,没有讲实现原理。