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

  • 相关阅读:
    缩略图(转载)
    MarteEngine tutorial:Keyboard and mouse input
    MarteEngine tutorial: Hello World
    FengGUI
    位于两个内网的结点A和B都连接到一个公网的rdv,然后A与B之间发送消息,这时消息是否还经过rdv?
    MarteEngine
    MarteEngine tutorial:Basic collision
    关于PresenceService的实现方式
    MarteEngine: Animate sprite
    MarteEngine tutorial: 设置你的环境
  • 原文地址:https://www.cnblogs.com/Amadeus/p/9861402.html
Copyright © 2011-2022 走看看