砝码称重 解题报告

---------------------------------------------n个砝码,去掉m个,最多能称出多少重量?-------------------------------------------------------
    一、对于DP的。。。这道题我本来想DP。。模仿求组合数的DP公式。。对于f[n][m],挑出最后一个来,那么可以分成两种情况:最后一个去掉,那么->f[n-1][m-1];最后一个不去掉,那么->f[n][m-1]。。。但是它错掉了。。
        与原先的后效性不同,这虽然确实可以转移到一个完全不同的(子)问题,但因为它不构成最优子结构。。可能会出现如果a[n]替代掉前面某个a[i](i<n)能得到更优解的情况。。。
    虽然我也还不是很明白。。但大概确实应该就是这样了。
二、对于时间复杂度的。这道题如果暴搜的话时间复杂度是O(C(n,m)*n*v)=2*10^8,按理说应该会超时的。。所以说我一直没有去想它,而是试图去改进DP方程。但当我实在不会了的时候。。我就不得不暴搜了。。结果我惊奇的发现,它竟然以十个点0.2s的速度A掉了!
        简直难以置信,10^8为何会这么快?因为这个O很“虚”啊! 。。
        于是我们需要深刻总结,在设计、评估与选择算法的时候,务必要估计并深刻理解其O渐进时间复杂度,这是非常非常重要的!
-----------------如果我早想到这些。。我还会花一个星期的时间做这道题么。。怪不得砝码称重难度那么低。。-----------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值