第39届ACM-ICPC亚洲区广州站题解

Ltysky摘抄自闭幕式题目分析

Problem A

满足px+qy=c的点(x,y)在一条直线上,而c的值由直线的截距确定,所以最大化c,就要在糖果(x,y)点集的凸包上根据斜率确定一个顶点,所以本题需要动态凸包算法,但是动态凸包只能处理加点,要删点的话需要结合陈丹琦分治。

Problem B

坑题,栅栏可以套另一个,这种情况下面积是大的。

Problem C

将字符串建trie图,然后满足条件的字符串分为以下两类:

  1. 它是一个前缀,同时也是一个后缀。这样的话这个前缀对应节点的fail指针应该指向非根节点
  2. 它不是一个前缀,这是用一个简单的动态规划算法,用dp[i][j]表示后面前缀长度是i,然后j表示从根节点开始沿trie图走完两个前缀之后所在节点,i>=1

首先枚举所有前缀p,如果p在trie树中没有儿子c,则dp[1][p->c]+=1,其中p->c表示从p开始走字母c所到达的节点。

之后,对于dp[i][j],枚举一个字母c,如果j->c所在节点在trie树中的深度不小于i+1,则dp[i+1][j->c]+=dp[i][j]。j->c的深度表示后一个前缀最长可以为多长,所以自然应该不小于i+1。

最后累加所有的dp[i][j]即为答案。

Problem D

由Apollonius圆定理,区域的边界是一个圆。求圆与简单多边形的面积交即可。(模板题)

Problem G

(P/Q)^2的范围可以用两个有理数确定,也就是P/Q的范围可以用两个二次根式确定。求两个二次根式连分数展开序列,在序列的公共前缀后面进行讨论确定P/Q。

Problem H

首先,如果不上高速,可以覆盖的区间显然是一个圆,然后,如果可以上高速公路,肯定沿着一条与高度公路称定角的线段上高速,再沿着同样的角下来是最优的。所以,可以简单地得出沿着高速公路走能覆盖的部分是一个菱形,求圆和菱形的面积并即可。

Problem J

考虑直径的中点(如果直径长度是偶数,可以假设在正中间增加了一个点,它的度数固定为2),则它有两棵(直径为偶数)或三棵(直径为奇数)二叉子树,其中应有两棵的高度为d/2,然后转化为有限制的有根数奇数的问题。首先预处理H_i表示高度为i的不同构的有根二叉树的数目。如有两棵子树,答案为C(H[d/2],2),否则为C(H[d/2],2)*(H[1]+H[2]+…+H[d/2-1])+C(H[d/2],3)

Problem K

水题

2014ACM-ICPC广州站题解(摘自闭幕式)的更多相关文章

  1. HDU 5127.Dogs' Candies-STL(vector)神奇的题,set过不了 (2014ACM/ICPC亚洲区广州站-重现赛(感谢华工和北大))

    周六周末组队训练赛. Dogs' Candies Time Limit: 30000/30000 MS (Java/Others)    Memory Limit: 512000/512000 K ( ...

  2. HDU 5135.Little Zu Chongzhi's Triangles-字符串 (2014ACM/ICPC亚洲区广州站-重现赛)

    Little Zu Chongzhi's Triangles Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 512000/512000 ...

  3. HDU 5131.Song Jiang's rank list (2014ACM/ICPC亚洲区广州站-重现赛)

    Song Jiang's rank list Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java ...

  4. 2014ACM/ICPC亚洲区广州站题解

    这一场各种计算几何,统统没有做. HDU 5129 Yong Zheng's Death HDU 5136 Yue Fei's Battle

  5. 2014ACM/ICPC亚洲区广州站 Song Jiang's rank list

    欢迎参加——每周六晚的BestCoder(有米!) Song Jiang's rank list Time Limit: 2000/1000 MS (Java/Others)    Memory Li ...

  6. 2014ACM/ICPC亚洲区北京站题解

    本题解不包括个人觉得太水的题(J题本人偷懒没做). 个人觉得这场其实HDU-5116要比HDU-5118难,不过赛场情况似乎不是这样.怀疑是因为老司机带错了路. 这套题,个人感觉动态规划和数论是两个主 ...

  7. 2014ACM/ICPC亚洲区广州站 北大命题

    http://acm.hdu.edu.cn/showproblem.php?pid=5131 现场赛第一个题,水题.题意:给水浒英雄排序,按照杀人数大到小,相同按照名字字典序小到大.输出.然后对每个查 ...

  8. UVALive 7146 (贪心+少许数据结构基础)2014acm/icpc区域赛上海站

    这是2014年上海区域赛的一道水题.请原谅我现在才发出来,因为我是在太懒了.当然,主要原因是我刚刚做出来. 其实去年我就已经看到这道题了,因为我参加的就是那一场.但是当时我们爆零,伤心的我就再也没有看 ...

  9. 2014ACM/ICPC亚洲区北京站

    1001  A Curious Matt 求一段时间内的速度单位时间变化量,其实就是直接求出单位时间内的,如果某段时间能达到最大那么这段时间内必定有一个或一小段单位时间内速度变化是最大的即局部能达到最 ...

随机推荐

  1. 【Python】利用豆瓣短评数据生成词云

    在之前的文章中,我们获得了豆瓣爬取的短评内容,汇总到了一个文件中,但是,没有被利用起来的数据是没有意义的. 前文提到,有一篇微信推文的关于词云制作的一个实践记录,准备照此试验一下. 思路分析 读文件 ...

  2. Python中classmethod和staticmethod的区别

    学习python中经常会出现一些相近或者相似的语法模块等,需要对比分析才能加深记忆,熟练运用. staticmethod:静态方法 classmethod:类方法 在python中,静态方法和类方法都 ...

  3. steps 步骤条、时间轴

    steps 步骤条.时间轴:http://www.fxss5201.cn/project/plugin/steps/1.0/ Github地址:https://github.com/fxss5201/ ...

  4. 【Qt笔记】QAction与QToolButton的关联

    QAction可以理解为一个动作数据,包含了这个同坐相关的图标.文本.是否可用等数据和状态,以及连接对应的槽函数,用于执行这个动作. QToolButton则可以使用QAction对象作为后端,显示这 ...

  5. BZOJ 4033: [HAOI2015]树上染色题解

    BZOJ 4033: [HAOI2015]树上染色题解(树形dp) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327400 原题地址: BZOJ 403 ...

  6. 对于出现拒绝访问root用户的解决方案

    提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'   由于使用mysql -u root ...

  7. I-最短的名字

    在一个奇怪的村子中,很多人的名字都很长,比如aaaaa, bbb and abababab. 名字这么长,叫全名显然起来很不方便.所以村民之间一般只叫名字的前缀.比如叫’aaaaa’的时候可以只叫’a ...

  8. MySQL: InnoDB的并发控制,锁,事务模型

    一.并发控制 为啥要进行并发控制? 并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并发控制(Concurrency Control). 技术上,通常如何进行并发控制? ...

  9. Maven快速安装配置

    环境:windows7_x86  maven3.3.3   maven是管理项目的常用工具,不用安装,直接配置即可.在配置maven前,需要先安装JDK.   1,安装JDK(注意此版本的Maven要 ...

  10. 根据日志来源的不同生成不同的index索引

    使用filebeat收集系统日志,不同应用的日志,然后把这些日志传输给Logstash,再然后交由elasticsearch处理,那么如何区分不同的日志来源呢? filebeat.yml配置文件中不启 ...