2017 ACM ICPC Asia Regional - Daejeon

Problem A Broadcast Stations

题目描述:给出一棵树,每一个点有一个辐射距离\(p_i\)(待确定),但\(p_i==0\)的点不能辐射自己,只能由别的点辐射覆盖。求\(p_i\)的和的最小值。

Problem B Connect3

题目描述:有一个\(4 \times 4\)的网格,两个人玩游戏,第一个人用黑棋,第二人用白棋。每次选择一列,将棋子扔下去,直到最下一个空的格子。现在给出第一个人下的位置,以及最后第二个人下的棋子最终的位置。已知最后一步是赢棋的一步,问最终有多少种棋盘状态。

solution
因为状态数很少,所以可以直接暴力搜索最终的状态。

时间复杂度:\(O(2^{16}*16)\)

Problem C Game Map

题目描述:给出一个\(n\)个点的图,设每个点的度为\(d_i\),选出一个最长的序列\(c_i\),满足\(d_{c_i}<d_{c_{i+1}}\),且\(c_i\)与\(c_{i+1}\)相邻,输出最长的长度。

solution
将点按度排序,每个点\(i\)向度比\(d_i\)大的邻居连一条有向边,然后DAG \(dp\)。

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

Problem D Happy Number

题目描述:设函数\(f(n)\),\(f(n)\)等于\(n\)的每一位的数的平方的和,将得出的结果继续带进\(f\)继续算,直到等于\(1\),如果能等于\(1\),则称\(n\)是开心的数,否则是不开心的数。给出一个数\(n\),判断是否是开心的数。

solution
暴力模拟,记忆化\(n \leq 1000\)的数是否开心。

时间复杂度:\(O(1000*10)\)

Problem E How Many to Be Happy?

题目描述:给出一个有\(n\)个点\(m\)条边的图,每条边有一个边权,问要使第\(i\)条边成为图的最小生成树的一条边最少要删掉多少条边,求出每条边的对应答案的和。

solution
枚举边\(i\),找出那些边权小于\(i\)的边权的边,这些边都是网络流里的边,然后以\(i\)的两个点为源点和汇点跑网络流求最小割。

时间复杂度:\(O(mn^2m)\)(远小于这个值)

Problem F Philosopher’s Walk

题目描述:按以下规则构建路线:其中\(W_i\)的左上角和右上角都是\(W_{i-1}\),左下角为\(W_{i-1}\)顺时针转\(90^{\circ}\),右下角为\(W_{i-1}\)逆时针转\(90^{\circ}\)。从\((1, 1)\)出发沿线编号。给出\(x, y\),求出\(W_x\)中编号为\(y\)的格子坐标。

solution
分治求解,缩减图的规模,递归回来之后进行坐标变换即可。

时间复杂度:\(O(k)\)

Problem G Rectilinear Regions

题目描述:给出两条阶梯型的线\(L, U\),求出那些\(U\)在上,\(L\)在下围成的多边形的面积的和。

solution
观察可得,多边形的左边为\(U\)的竖线与\(L\)的横线相交,右边为\(U\)的横线与\(L\)的竖线相交。枚举\(U\)的每一级,二分出\(L\)对应的位置,判断是否相交。将相交的地方映射到\(x\)轴,若相邻的相交类型是上述的类型,就用部分和算出围成的多边形的面积。

时间复杂度:\(O(nlogn)\)

Problem H Rock Paper Scissors

题目描述:给出两个剪刀(S)石头(R)布(P)的序列,确定第一个序列的一个位置作为第二个序列的开始位置,算出第二个序列能多少局。求出第二个序列最多能赢多少局。

solution
先将第一个序列的每一位变成能赢这一位的字符。问题变成一个匹配问题。
将这个序列分成三个序列,每个序列分别只有剪刀、石头、布。同样将第二个序列分成三个序列,每个序列分别只有剪刀、石头、布。

例如:
RSPPSSSRRPPR 先变成 PRSSRRRPPSSP
RRRR
将石头序列拿出来,假设第一个序列为\(a_i\),第二个序列为\(b_i\)。按照上述的例子:
\(a=010011100000\)
\(b=1111\)
设\(f_i\)表示以\(i\)开头的区间的匹配数目,则\(f_i=\sum_{j=0}^{j<|b|} a_{i+j}*b_j\),若将\(a_i\)翻转,则\(f_{n-i}=\sum_{j=0}^{j<|b|} a_{n-(i+j)}*b_j\),就是卷积。
同理算出剪刀序列和布序列,求和,求最大值。

时间复杂度:\(O(9nlogn)\)

Problem I Slot Machines

题目描述:给出一个长度为\(n\)的序列\(a_i\),这个序列第\(k+1\)起到最后是若干个循环,周期为\(p\),最后一个循环可以不完整。求\(k+p\)最小值对应的\(k, p\)。

solution
将序列\(a_i\)翻转,做一次\(KMP\)(\(fail[i]\)),枚举\(k+1\)的位置\(i\),则周期\(p=i-fail[i], k=n-i\)。更新答案。

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

Problem K Untangling Chain

题目描述:在二维平面上,从\((0, 0)\)出发(开始时向右走),向前走一段距离(整数),然后向左转或向右转,重复若干次。给出路径,改变每一次走的距离(不能改变转向),使得路径不相交。输出一种方案。

solution
记录\(x, y\)的最大最小值,每次走的时候走到对应的边界加一即可。

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

Problem L Vacation Plans

题目描述:给出\(s(s \leq 3)\)个图,每个图是一个有向图(\(n\)点,\(m\)条边),有点权,有边权。每个图有一个目的地,出发点都是\(1\),每一时刻经过一条边,花费为边权,或者停止不动,花费为点权。现要求同时出发,同时到达目的地,问总花费的最小值。

solution
枚举时间,三个图同时\(dp\),更新答案,卡一下时就可以了,兜圈不会兜很多遍。

时间复杂度:\(O(n^sms)\)

2017 ACM ICPC Asia Regional - Daejeon的更多相关文章

  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 Qingdao Online

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

  3. 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 ...

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

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

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

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

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

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

  7. HDU 6198(2017 ACM/ICPC Asia Regional Shenyang Online)

    思路:找规律发现这个数是斐波那契第2*k+3项-1,数据较大矩阵快速幂搞定.   快速幂入门第一题QAQ #include <stdio.h> #include <stdlib.h& ...

  8. 2017 ACM/ICPC Asia Regional Qingdao Online Solution

    A : Apple 题意:给出三个点,以及另一个点,求最后一个点是否在三个点的外接圆里面,如果在或者在边界上,输出“Rejected”,否则输出"Accepted" 思路:先求一个 ...

  9. 2017 ACM/ICPC Asia Regional Qingdao Online - 1011 A Cubic number and A Cubic Number

    2017-09-17 17:12:11 writer:pprp 找规律,质数只有是两个相邻的立方数的差才能形成,公式就是3 * n * (n + 1) +1, 判断读入的数是不是满足 这次依然只是做了 ...

随机推荐

  1. C++解析(26):函数模板与类模板

    0.目录 1.函数模板 1.1 函数模板与泛型编程 1.2 多参数函数模板 1.3 函数重载遇上函数模板 2.类模板 2.1 类模板 2.2 多参数类模板与特化 2.3 特化的深度分析 3.小结 1. ...

  2. [您有新的未分配科技点] 无旋treap:从单点到区间(例题 BZOJ1500&NOI2005 维护数列 )

    1500: [NOI2005]维修数列 Time Limit: 10 Sec  Memory Limit: 64 MB Description Input 输入的第1 行包含两个数N 和M(M ≤20 ...

  3. HTML option 标签的 selected 属性

    HTML option 标签的 selected 属性 http://www.w3school.com.cn/tags/att_option_selected.asp 1.一般做WEB的时候,Chro ...

  4. 【NOIP考试范围】

    ※号为可能考察的算法[历年有出现过,但概率小,但最好掌握] [本图片仅作参考] 梦想总是要有的,万一实现了呢?

  5. 洛谷P1602 Sramoc问题 题解报告【同余+bfs】

    题目描述 话说员工们整理好了筷子之后,就准备将快餐送出了,但是一看订单,都傻眼了:订单上没有留电话号码,只写了一个sramoc(k,m)函数,这什么东西?什么意思?于是餐厅找来了资深顾问团的成员,YQ ...

  6. bzoj2734:[HNOI2012]集合选数(状压DP)

    菜菜的喵喵题~ 化序列为矩阵!化腐朽为神奇!左上角为1,往右每次*3,往下每次*2,这样子就把问题转化成了在矩阵里选不相邻的数有几种可能. 举个矩阵的例子 1 3 9 27 2 6 18 54 4 1 ...

  7. android adb devices 后出现offline问题的解决

    Android在使用adb 命令时有时会发现设备的状态是offline,我的神呀,这怎么让我们调试呢.必须解决这个问题. 解决方式如下: 以下方法请确保你的设备处于调试模式下. 方法一:执行 #adb ...

  8. Django 分页 以及自定义分页

    Django提供了一个新的类来帮助你管理分页数据,这个类存放在django/core/paginator.py.它可以接收列表.元组或其它可迭代的对象. 基本语法 1 2 3 4 5 6 7 8 9 ...

  9. duilib 修复Text控件无法设置宽度的bug,增加自动加算宽度的属性

    转载请说明原出处,谢谢~~: 今天有朋友反映CTextUI控件无法设置宽度,于是修复了这个bug,顺便给Text控件增加了一个自动计算宽度的属性,描述如下 <Attribute name=&qu ...

  10. ThinkPHP+Memcache的缓存方案总结

    简介: ThinkPHP用S()方法可以缓存数据,这在访问数据库时非常有用,可以在有限时间内当数据库无变化时从缓存取数据,有变化时从数据库取数据. Memcached+Memcache是一个将数据保存 ...