zoukankan      html  css  js  c++  java
  • 【题解】P3129高低卡(白金)High Card Low Card

    【题解】[P3129 USACO15DEC]高低卡(白金)High Card Low Card (Platinum)

    考虑贪心。

    枚举在第几局改变规则,在改变规则之前,尽量出比它大的最小的牌,在改变规则之后,尽量出最大的比它小的牌。前面记录一个(f(x))后面记录一个(g(x))

    此时,你会发现,可能方案选择重复了,怎么办??

    一般人都会放弃,但是这是正确的。

    证明如下:

    假设我们方案重复了(1)次,则必定也有一张多出来的牌。由于不存在相同的牌,则这张多出来的牌,必定比那张重复用的牌大或者小。那么,这张牌一定可以代替两种规则中都使用了一次的那张牌。不影响结果。

    一张牌重复了多次时,根据上述推理,显然成立。

    证毕

    于是我们就可以愉悦的贪心了。

    这就启示我们一定不能轻易放弃想出来却感觉不正确的算法。对于这样存在矛盾或缺陷的算法,要抓住矛盾的本质,并且推导这样的矛盾到底会不会影响答案。并且要注意矛盾所带来的影响,好的或者坏的。

    
    
  • 相关阅读:
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业01
    学期总结
    C语言I博客作业08
    C语言I博客作业07
  • 原文地址:https://www.cnblogs.com/winlere/p/10335642.html
Copyright © 2011-2022 走看看