zoukankan      html  css  js  c++  java
  • 2017 ACM

    2017 ACM - ICPC Asia Ho Chi Minh City Regional Contest

    A - Arranging Wine

    题目描述:有(R)个红箱和(W)个白箱,将这些箱子分成若干堆,使得每一堆只有一种颜色,然后将这些堆排成一排,使得相邻的堆的颜色不一样,并且每堆红箱的个数不能超过(d),问有多少种方案。

    solution
    不会。

    B - Barcode

    题目描述:有一排(n)个球,现在要给这(n)个球涂成红色或蓝色,使得红色球的个数等于蓝色球的个数,或者没有两个连续的蓝球,问有多少种方案。

    solution
    第二个条件的方案可以(dp)算出,而第一个条件的方案是(C_{n}^{n/2}),最终答案为两种条件的方案相加减去重复的(frac{n}{2}+1)
    (C_{n}^{n/2})要用模意义下的组合数来求。

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

    C - Cu Chi Tunnels

    题目描述:给出(n)个点的度,构造一棵树使得每个点的度满足所给的点,而且从根到每个点的路径的点编号递增。问能否构造这棵树。

    solution
    显然(1)是根,除了(1)外每个点的度减一就是儿子数。编号从大到小构造儿子,当儿子数不够时,无解,否则有解。

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

    D - Dropping Ball

    题目描述:给出一个(m imes n)的网格图,每个格子是''或者'/'。有两种操作:1、问从第一行第(k)列上方放一个球,问这个球能不能从最后一行掉出去,如果能,则输出从那一列掉出去。 2、修改某一个格子的符号,从''变成'/',或者相反。操作总数为(q)

    solution
    (m leq 1000)时,每次询问直接暴力模拟。
    (m > 1000)时,(n < 100)。所以可以用线段树维护转移表。区间([L, R])的点为一个转移表(jump[i]),表示当一个球到了第(L)行第(i)列,它会从第(R)行第(jump[i])列掉出去。

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

    E - Engaging with Loyal Customers

    题目描述:有(n)个人,(m)份礼物,每个人对每份礼物有一个好感值,问如何分配礼物(一个人只能有一份礼物)使得每个人的好感值的和最大。

    solution
    当礼物较少时补足礼物,使得问题变成一个完美匹配的问题,然后用KM解决。

    时间复杂度:远小于(O(n^3))

    F - Famous Pagoda

    题目描述:有一个(n)个元素的序列(a_i),将其分成(m)段,给定一个数(k=1 or 2),每一段的值为(min_{v in mathbb{Z}} sum_{s=i}^{j} left | a_s-v ight | ^k),输出每一段的值的总和的最小值。

    solution
    (f[i][j])表示前(i)个数分成(j)段的最小值,显然(信仰)当(i)一定,(j)递增,决策(k)也递增,所以直接(n^2)dp

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

    G - Game of Divisibility

    题目描述:有(n)个数(a_i)和一个数(k),现在有两个人轮流从(n)个数中取数,每次取一个,直到所有的数取完。最终谁取的数的和是(k)的倍数,谁就获胜,否则平手。输出在最优策略下的最终结果。

    solution
    不会

    H - Height Preservation

    题目描述:有一个(m imes n)的网格图,每个格子有一个数(h_{ij}),现在给每个格子取一个数(s_{ij}),满足在每一行(i),若(h_{ij}=h_{ik}),则(s_{ij}=s_{ik}), 若(h_{ij}>h_{ik}),则(s_{ij}>s_{ik}),以及在每一列也同样满足类似行满足的条件,问(s)不同数字最少有多少个。

    solution
    将相等的点缩点,不相等的点连边,然后求最长路。

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

    I - ICPC Awards

    题目描述:按照排名顺序给出(n)支队伍的学校名与队名,然后每间学校只保留排名最前的队伍,最后输出前(12)支队伍。

    solution
    模拟

    J - Joining Networks

    题目描述:一个有(n)台电脑的网络构成一棵树,两台电脑的传输花费为两台电脑的距离的平方,一个网络的传输花费为所有无序电脑对的传输花费总和。现有两个两个网络,添加一条边使得这两个网络连通且连通后的网络的传输花费最少,输出最小值。

    solution
    不会。

    K - K-Rotating

    题目描述:有(n)个老师,(n)个班,开始时第(i)个老师交第(i)个班,接下来有(m)个修改操作,每次操作选择第(x)个星期,在第(x)星期的开始,选择(k)个老师(p_1, p_2, ..., p_k),然后老师(p_i)转为教老师(p_{i+1})教的班,(p_n)(p_1)教的班。在这修改操作期间还有一些询问操作,问第(k)个老师在第(x)个星期的星期二教哪一个班。

    solution
    分块,暴力维护每一块的置换,暴力修改,暴力询问。

    时间复杂度:(O(q sqrt{m}))

    L - Land Inheritance

    题目描述:给出一个多边形以及一条直线,将多边形沿直线对折,求重叠部分的面积。

    solution
    听说是一个模板:面积交的面积。

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

  • 相关阅读:
    Qt中将QTableView中的数据导出为Excel文件
    QTableView另类打印解决方案(复用render函数去解决print问题)
    [网络]_[批量下载网站文件]
    Codecs是以plugin的形式被调用的(显示中文的codec plugin文件是qcncodecs4.dll),可静态载入和动态载入
    Qt的Model/View Framework解析(数据是从真正的“肉(raw)”里取得,Model提供肉,所以读写文件、操作数据库、网络通讯等一系列与数据打交道的工作就在model中做了)
    MinGW 编译zlib、libpng、libjpeg、libcurl等(全都是Qt项目)
    Move WriteBuffer ReadBuffer String
    Delphi调试DLL 不能调试 不能进入调试 注意!!!
    ssh三大框架,三层架构 整合测试!完整分页代码,JdbcTemplate等测试,存储过程调用,留着以后复习吧
    Delphi 的动态数组
  • 原文地址:https://www.cnblogs.com/GerynOhenz/p/8514291.html
Copyright © 2011-2022 走看看