我和楼主你刚开始想的一模一样,也是上来求极值,找俩点比一下优先选3,但是总感觉这样不太严谨,首先因为先默认了每一份都一样长,而且结果与n无关,虽然x按整数考虑了,但是算出来的结果n/x也就是绳子的条数不能保证是整数,如果后面用取余来考虑,相当于是和前面的求解割裂了,因为每一份等长已经不成立了,我觉得用归纳法很容易理解,首先项数有限那么一定存在一个最优解,那么最优解里某项如果是1都可以和任一项结合使得乘积增大,所以不能是1,然后反证法或者函数图也很容易证明每一项肯定小于4,所以每项必定是2,3如果优先考虑2,那么情况1最后一定是若干个2和一个1,显然1可以和2结合成3;情况2是若干个2,那么这个绳子只要大于4,也就是从6开始,若干个2肯定不是最大的,因为拿出一个2分给另外两个2,就变成了了三个2和2个3的区别,所以优先考虑2肯定不是最大,所以应该优先考虑3,这样感觉合理一点
点赞

相关推荐

11-18 09:44
Java
小白也想要offer:简历别放洋屁,搞不还还放错了,当然你投外企除外,以上纯属个人观点
点赞 评论 收藏
分享
牛客网
牛客企业服务