• 2017 SWERC


    2017 SWERC

    A:Cakey McCakeFace

    题目描述:有一个炉每次只能放一个蛋糕,炉的进口和出口各放了一个探测器,当放蛋糕进去时,进口的探测器会记录时刻,当蛋糕做好后,蛋糕从出口出来,出口探测器会记录时间,每个蛋糕做好的时间是一样的。现在探测器坏了,即没有探测到蛋糕也可能会记录时间,探测到蛋糕也可能不记录时间。现在给出进口探测器记录的时刻,以及出口探测器记录的时刻。问蛋糕做好的时间最有可能是多少,即使其满足的记录最多。

    solution
    将出口时刻与进口时刻两两相减,看哪个时间最多即可。

    时间复杂度:(O(n^2))

    B:Table

    题目描述:给出一个(R imes C)的网格图,其中有些格子被涂成黑色,现在有一些询问(x, y),问网格图中有多少个(x imes y)的长方形,满足长方形内没有黑色的格子,且长方形的边与网格线重合。

    solution
    待解决。

    C:Macarons

    题目描述:有一个(n imes m)的网格,有(1 imes 1, 1 imes 2, 2 imes 1)三种规格的砖块,问有多少种方案填满这个网格。

    solution
    状压(dp)+矩阵乘法。

    时间复杂度:(O((2^n)^3logm))

    D:Candy Chain

    题目描述:有一个字符串(candy),以及(n)个单词(word[i]),每个单词都有一个对应的价值。现在字符串中删掉一些单词,删掉后就能得到相应的价值。字符串删掉一个单词后,字符串会连起来构成一个新的字符串。删单词时,不仅可以删掉原单词,还可以删掉原单词翻转形成的单词。问最多能得到多少价值。

    solution
    (dp)。单词翻转的问题相当于添加(n)个翻转后的单词。(f[i][j][all][k][p])表示处理字符串中([i, j))这段区间,是否需要全部消掉((all)(true)时为需要全部删掉,反之不需要),单词(k)的区间([0, p))已经在字符串的([0, i))中匹配,得到的最多价值。

    1. (candy[i]==word[k][p]),则搜索状态(f[i+1][j][all][k][p+1])
    2. (word[k])已经匹配完,则返回。
    3. (q in [i+1, j]), 表示([i, m))全部删去,则搜索(f[i][m][true][0][0])以及(f[m][j][all][k][p])

    时间复杂度:(O(len^3n))

    E:Ingredients

    题目描述:给出一个菜谱路线(有向无环图),每种菜的花费以及价值为这种菜所依赖的菜的花费和以及价值和。最终的菜单中每种菜只能出现一次,问在总花费不超过(B)的前提下,价值和最大是多少。

    solution
    跑一遍(DAG),求出每种菜最终需要的费用以及价值。然后做背包。

    时间复杂度:(O(nB))(n)为实际有多少种菜。

    F:Shattered Cake

    题目描述:有一个长方形,被切成很多个长方形,给出小长方形的长和宽,以及原来长方形的长,求原来长方形的宽。

    solution
    模拟。

    时间复杂度:(O(n))

    G:Cordon Bleu

    题目描述:有(m)个骑手,(n)支酒,饭店安排一些骑手去拿酒然后会饭店,若骑手拿酒的数目多于(1),则除了第一支酒外,其它酒拿酒时由饭店出发。拿酒的总费用等于骑手走过的距离,而骑手两点之间走哈密顿距离。给出每个骑手的初始坐标以及酒的坐标和饭店坐标,求最少费用。

    solution
    二分图最大权匹配。二分图右边为酒,左边为骑手和(n-1)个饭店,这样就能保证一定有一个骑手从初始点出发,若匹配到饭店,则是从饭店出发,而从饭店出发的不用管是哪一个骑手。

    时间复杂度:无法估计。

    H:Kabobs

    题目描述:有一个字符集以及(n)个规则。现在要构造一个长度为(m)的字符串,字符串只能由给定的字符集构成,并且要满足那(n)个规则。每个规则是这样的:有两个字符串(A, B)。若构成的字符串存在子串(A),则(A)的后面(不一定要紧接着)一定要有(B)。求能构造多少个字符串。

    solution
    按照规则构造自动机,按照题解的说法,状态数不会超过(3 imes 10^6)

    时间复杂度:(O(3 imes 10^6))

    I:Burglary

    题目描述:有(n)层书架,每个书架有(m)格,书架上有些格子有钱,相邻两层之间有一些梯子相邻。现在有一个小偷从第一层书架出发偷钱,每个放钱的位置小偷至多会经过一次,最后小偷会回到第一层,而且小偷只能先一直向下走,然后一直向上走。问小偷最多能偷多少钱。

    solution
    (f[i])表示小偷下到第(i)层然后向上走。(g[i][x][y])表示在(x)下楼梯到第(i)层,在(y)上楼梯回去的最大值。预处理(grab[i][x][y])表示在(x)下到第(i)层后走一遍第(i)层,在(y)回去的最大值。则(f[i]=max(g[i][x][y]+grab[i][x][y])),答案为(max(f[i]))
    (g[i][x][y])可以由(g[i-1][x'][y'], grab[i-1][x][x'], grab[i-1][y'][y])算出,但中间会有很多细节,还没码,不太清楚。。。

    时间复杂度:(O(nL^4)), (L)为每层楼梯数。

    J:Frosting on the Cake

    题目描述:有一个不均等的网格图,然后从左到右从上到下依次交替涂上白、黄、红色。问最终每种颜色的总面积。

    solution
    模拟。

    时间复杂度:(O(n))

    K:Blowing Candles

    题目描述:给出二维平面上的(n)个点,求宽度为(w)的平行线,使得所有点在平行线内,求出最小的(w)

    solution
    求凸包,旋转卡壳求(w)

    时间复杂度:(O(n))

  • 相关阅读:
    POJ
    服务器端控件的属性
    生成验证码的代码
    无法检测到的代码原因
    Jquery获取服务器端控件的三种方式
    hdu-2421 Deciphering Password 数学姿势
    KM算法 带权二分匹配 O(n^3)
    hdu-3966 Aragorn's Story 树链剖分
    头文件
    输入外挂
  • 原文地址:https://www.cnblogs.com/GerynOhenz/p/8407305.html
Copyright © 2020-2023  润新知