• 【Codeforces #228】Solutions


      http://codeforces.com/contest/389

      重新把号刷到Div 1 准备ACM?(我这么菜还是玩玩算了……) 

      官方题解出的很快

      

      Div2 A: 怎么做都行……随便找俩数减就可以

      Div2 B: 找上面那个'#',然后更新五个,最后检查有没有多余的'#'

      Div2 C & Div1 A: 贪心即可。当然题解方法说的第i小的strength[i]>i/piles也对的。

      Div2 D & Div1 B: 二进制划分。

      类似这种,除去1和2之外被分成3层(层数取决于二进制位数)。设f[i]为到第i层时的方案数,那么如果红色路径存在则f[i]++。

      Div2 E & Div1 C: 艾玛无望时想到了做法。。

        1.首先对于某一堆,如果我(先手那个)想拿上面的一半,那我一定可以全部拿到。(奇数堆不包括中间那一个)

        这是显而易见的,因为先手总可以保证在当前堆“快人一步”。但同时后手也可以保住这一堆的后半堆(如果他想)。

        2.在先手当前所有决策中,因为对于每一堆的下半部分处于被动状态,所以如果下半堆价值很高,那后手可以通过优势阻止先手去拿。所以不可能出现一个人拿了超过一堆的一半。

        3.这样上下半堆就分属于两个人了,中间那个怎么办?因为先手优势,先手可以“占据”某一堆的中间牌。

        比如牌编号是ABC,A想要B的话,只需要把A拿走,那C就一定是自己的了。

        但是每次抢中间牌的条件是拥有先手优势,当A抢了一张中间牌之后,A就没有先手优势了,所以这种抢中间牌的操作是交替的。

        就完了。。

      div1 DE还没看,不过看起来不像是我会做的样子……

  • 相关阅读:
    布隆过滤器(Bloom Filter)详解
    css-鼠标经过图片效果
    css-卡牌反转(两个内容)
    wow 属性
    小常识
    裁剪图片
    js电梯导航效果
    banner缓慢缩小过渡效果
    css——鼠标经过按钮时样式
    redis面试题redis的lru算法实现到手写lru算法
  • 原文地址:https://www.cnblogs.com/Delostik/p/3537796.html
Copyright © 2020-2023  润新知