zoukankan      html  css  js  c++  java
  • 2017-2018 Northwestern European Regional Contest (NWERC 2017)

    Rank Solved A B C D E F G H I J K
    --/-- 6/11 . O Ø O Ø Ø O O O . O

    O: 当场通过

    Ø: 赛后通过

    .: 尚未通过

    A Ascending Photo

    unsolved


    B Boss Battle

    solved by chelly


    chelly's solution

    C Connect the Dots

    upsolved by chelly


    贪心一个一个做即可,维护可缩小的拱形

    D Dunglish

    solved by ABerror


    ABerror's solution

    E English Restaurant

    upsolved by chelly


    首先额外加入t个大小为g的桌子
    然后来的每组人都有对应的位置坐下,他们坐在哪个桌子取决于他们的人数和前面的占位情况
    容易发现最后肯定坐成几个连续段,每个连续段是独立的
    我们可以先dp求出(f[i][j])表示只有i~j桌子坐了人,其它地方没坐人的方案数和权值和,转移枚举最后一个坐的位置
    然后从前往后dp,(dp[i][j])表示前i个桌子坐了j组人的方案数和权值和
    答案就是dp[n+t][t]表示的期望
    注意算权值和的时候,如果某个位置下标>n,那么权值是0

    F Factor-Free Tree

    upsolved by chelly


    首先对于每个位置预处理出(l_i,r_i)表示和第i位的数字互质的区间有多大,这一部分可以预处理目前每个质数最后一次出现的位置来求出
    然后显然我们现在要构出一段区间[1,n],要选出一个位置i作为根,显然要(l_i<=1,r_i>=n),然后再不断分治下去
    实际上,可以证明如果对于某个区间[l,r],有多个可选根,那么选任何一个都是无所谓的
    现在考虑时间效率,我们每次对于一个区间[l,r]找一个位置i可以覆盖这个区间,暴力找的话时间复杂度是不对的
    我们可以从两边往中间找,容易发现这相当于是逆过来的启发式合并(也叫启发式分治),所以时间复杂度是(O(nlogn))

    G Glyph Recognition

    solved by ABerror


    ABerror's solution

    H High Score

    solved by chelly&&ABerror


    chelly's solution

    I Installing Apps

    solved by chelly


    chelly's solution

    J Juggling Troupe

    unsolved


    K Knockout Tournament

    solved by ABerror&chelly


    chelly's solution

    Replay

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 传球游戏
    Java实现 蓝桥杯VIP 算法训练 Hanoi问题
    Java实现 蓝桥杯VIP 算法训练 蜜蜂飞舞
    Java实现 蓝桥杯VIP 算法训练 奇偶判断
    Java实现 蓝桥杯VIP 算法训练 传球游戏
    Java实现 蓝桥杯VIP 算法训练 Hanoi问题
    Java实现 蓝桥杯VIP 算法训练 Hanoi问题
    Java实现 蓝桥杯VIP 算法训练 蜜蜂飞舞
    Java实现 蓝桥杯VIP 算法训练 蜜蜂飞舞
    Qt: 访问容器(三种方法,加上for循环就四种了)good
  • 原文地址:https://www.cnblogs.com/Amadeus/p/9861402.html
Copyright © 2011-2022 走看看