zoukankan      html  css  js  c++  java
  • codechef MAY18 div2 部分题解

    T1

    https://www.codechef.com/MAY18B/problems/RD19

    刚开始zz了,其实很简单。

    删除一个数不会使gcd变小,于是就只有0/1两种情况

    T2

    https://www.codechef.com/MAY18B/problems/XORAGN

    我们可以把B序列看做一个矩阵

    那么$A(i,j)$和$A(j,i)$会抵消掉

    因此答案就是$sum_1^n A(i,i) + A(i,i)$

    T3

    https://www.codechef.com/MAY18B/problems/MTYFRI

    答案的序列是固定的,因此后手会把自己最小的换做对手最大的,

    贪心求解,两个堆维护最小最大值

    T4

    https://www.codechef.com/MAY18B/problems/DBFB

    按照套路,考虑A,B对答案的贡献,A只可能作为第一项,B只可能作为第二项。

    统计出斐波那契数列中A,B的出现次数

    A,B会被枚举M次,因此答案最后乘M

    T5

    很有思维量的一道题

    首先,对于每个数,它能够被枚举到的顺序是一定的

    根据题目不难得出,它所在序列的各个值应该是单调递增的。

    那么我们可以把序列求出来,对于这个点,从它左边比它大的个数和它右边比它小的元素个数里面取max

    -1的情况需要特判

    T6

    很有思维量的一道题,前前后后做了3天才A掉

    刚开始zbq想了一个三维dp,应该可以做已AC,但是太麻烦了好像也不是很麻烦

    考虑每个数,当且仅当它左边右边都比它大时才能转移

    这样我们用$f[i]$表示一定选$i$时的最优答案,转移的时候枚举前面的点

    这样看似是$O(n^2)$的,但是很显然,答案序列的函数图像中大多数都是单调递增的

    因此我们只要往前枚举一部分就好,亲测1000可过

    目前rank

     

    顺便Orz zbq 

  • 相关阅读:
    火柴排队sol
    国王游戏sol
    子串sol
    跳石头
    解方程sol
    花匠sol
    字符串整理
    计算系数
    矩阵取数游戏sol
    8.2_java_28
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/8994189.html
Copyright © 2011-2022 走看看