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 \times 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 \right | ^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 \times 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)\)

2017 ACM - ICPC Asia Ho Chi Minh City Regional Contest的更多相关文章

  1. 2017 ACM/ICPC Asia Regional Shenyang Online spfa+最长路

    transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 132768/1 ...

  2. 2017 ACM ICPC Asia Regional - Daejeon

    2017 ACM ICPC Asia Regional - Daejeon Problem A Broadcast Stations 题目描述:给出一棵树,每一个点有一个辐射距离\(p_i\)(待确定 ...

  3. 2017 ACM/ICPC Asia Regional Qingdao Online

    Apple Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submi ...

  4. HDU - 6215 2017 ACM/ICPC Asia Regional Qingdao Online J - Brute Force Sorting

    Brute Force Sorting Time Limit: 1 Sec  Memory Limit: 128 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...

  5. 2017 ACM/ICPC Asia Regional Shenyang Online transaction transaction transaction

    Problem Description Kelukin is a businessman. Every day, he travels around cities to do some busines ...

  6. 2017 ACM/ICPC Asia Regional Shenyang Online

    cable cable cable Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  7. 2017 ACM/ICPC Asia Regional Shenyang Online(部分题解)

    HDU 6197 array array array 题意 输入n和k,表示输入n个整数和可以擦除的次数k,如果至多擦除k次能是的数组中的序列是不上升或者是不下降序列,就是魔力数组,否则不是. 解题思 ...

  8. 2017 ACM/ICPC Asia Regional Qingdao Online解题报告(部分)

    HDU 6206 Apple 题意: 给出四个点的坐标(每个点的坐标值小于等于1,000,000,000,000),问最后一个点是否在前三个点组成的三角形的外接圆内,是输出Accept,否输出Reje ...

  9. HDU 6205(尺取法)2017 ACM/ICPC Asia Regional Shenyang Online

    题目链接 emmmm...思路是群里群巨聊天讲这题是用尺取法.....emmm然后就没难度了,不过时间上3000多,有点.....盗了个低配本的读入挂发现就降到2800左右, 翻了下,发现神犇Clar ...

随机推荐

  1. RxSwift基本使用(一)

    备注:本文参考自田腾飞博文 [RxSwift入坑解读-你所需要知道的各种概念] (http://www.codertian.com/2016/11/27/RxSwift-ru-keng-ji-read ...

  2. NoSQL - Redis应用场景

         问题的引入 DB(Oracle.MySQL.Postgresql等)+Memcached 这种架构模式在我们生产环境中十分常见,一般我们通过Memcached将热点数据加载到cache,应用 ...

  3. 分布式文件系统服务器FastDFS

    1. 什么是FastDFS FastDFS 是用 c 语言编写的一款开源的分布式文件系统.FastDFS 为互联网量身定制, 充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标, ...

  4. byte数组转float实现与byte转换其它类型时进行&运算原理

    下面是将byte数组转换为float的实现 public static float getFloat(byte[] b) { int accum = 0; accum = accum|(b[0] &a ...

  5. BZOJ 3786: 星系探索 解题报告

    3786: 星系探索 Description 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅 ...

  6. 洛谷 P2664 树上游戏 解题报告

    P2664 树上游戏 题目描述 \(\text{lrb}\)有一棵树,树的每个节点有个颜色.给一个长度为\(n\)的颜色序列,定义\(s(i,j)\) 为 \(i\) 到 \(j\) 的颜色数量.以及 ...

  7. linux命令行设置git提示符

    http://note.youdao.com/noteshare?id=3b6b2ee0925964928fd63d2c51e6bcef

  8. 5.UiScrollable API 详细介绍

    Tip: 1.扫动过程中如果界面停留在滚动条的中间部分会先回到起点再进行滚动 2.扫动过程中设置的步长长短决定划过内容的多少,步长越长滑过的内容就越少:步长越短划过的内容就越长 一.UiScrolla ...

  9. 手脱ASPack v2.12

    1.PEID查壳提示为: ASPack 2.12 -> Alexey Solodovnikov 2.载入OD,程序入口点是一个pushad,在他的下一行就可以进行ESP定律,下硬件访问断点然后s ...

  10. TCP ------ 抓包分析(seq ack)

    总结: 1.ACK包可以和其他包合在一起,比如ACK包可以携带数据 2.可以接收多个数据包后,一次性给一个应答,不用每个数据包一一对应给应答 3.在通信过程中,通过接收到的包的ack值可以判断是否是上 ...