zoukankan      html  css  js  c++  java
  • 2018 Multi-University Training Contest 2

    Rank Solved A B C D E F G H I J
    88/821 3/10 . Ø Ø O Ø Ø O . Ø O

    O: 当场通过

    Ø: 赛后通过

    .: 尚未通过

    A Absolute

    unsolved


    B Counting Permutations

    upsolved by chelly


    chelly's solution

    C Cover

    upsolved by chelly


    chelly's solution

    D Game

    solved by chelly


    chelly's solution

    签到,全是YES

    E Hack It

    upsolved by ch


    ch's solution

    F Matrix

    upsolved by chelly


    chelly's solution

    G Naive Operations

    solved by chelly


    chelly's solution

    因为给的b是排列,所以均摊对答案贡献是(nlogn)级别的,于是就可以用线段树暴力模拟

    H Odd Shops

    upsolved by chelly


    chelly's solution

    首先有个结论,就是(f(x)^2=f(x^2) (mod 2)),这就使得多项式的幂在模2意义下可以降次
    那么对于这个问题,就可以把它拆成(log(n))个括号的乘积,其中每个括号里面有不超过11项,但是次数会很高,所以这个东西并没有很好的解法
    可以考虑,在降幂的过程中,我们要处理的是(f(x)^{2k}g(x))的形式,其中(f(x))就是刚开始读入的那个多项式,(g(x))是我们在之前降幂过程中留下的单独括号的卷积
    我们可以把(g(x))中次数为奇数的项和偶数的项单独拿出,比如(x^0+x^1+x^4+x^5+x^7)可以拆成(x^0+x^4)(x^1+x^5+x^7)
    (f(x)^{2k}g(x)=f(x^2)^kg(x)),容易发现奇数项和偶数项对答案的贡献是独立的,我们可以分开计算,比如上面的例子就是计算(f(x^2)^k(x^0+x^4))(f(x^2)^k(x^1+x^5+x^7))
    对于偶数项,我们把(x^2)看做整体,对于奇数项,我们先提出一个(x),再把(x^2)看作整体,那么就是要求(f(x)^k*(x^0+x^2))(f(x)^k(x^0+x^2+x^3)),这样就可以递归求解了
    可以记忆化搜索,时间复杂度是(O(2^{11} imes log(n)^2))

    I Segment

    unsolved


    J Swaps and Inversions

    solved by syf


    (ans=min(x,y) imes 逆序对个数)

    Replay

    本场由chelly和syf打的,ch去参加bupt camp了。
    开局chelly切了D,syf切了J。后来chelly去想G,首先思考分块,但感觉复杂度很高,后来发现答案肯定不会超过nlogn,于是就用线段树暴力A了。之后syf一直在想E题的构造,但直到终场都没想出,chelly一直在搞F,但复杂度一直是(O(n^3)),无法降下来。于是挂机了三个半小时……

  • 相关阅读:
    面向对象进阶----->反射 getattr 和hasattr方法
    封装和 property方法
    C/S与B/S区别
    BIO、NIO和AIO
    ArrayList、Vector、LinkedList的区别
    AOP代理模式
    Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实 现)interface(接口
    Spring常见面试题及答案解析
    数据库优化
    事物的理解
  • 原文地址:https://www.cnblogs.com/Amadeus/p/9367599.html
Copyright © 2011-2022 走看看