2016-E34-team1

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

||Time||Problem||Result||
||03:31:17||H||Accepted||
||03:15:59||H||Time Limit Exceeded !#2||
||03:10:57||G||Accepted||
||03:02:01||G||Wrong Answer !#2||
||01:19:15||C||Accepted||
||01:11:23||B||Accepted||
||00:54:50||F||Accepted||
||00:49:10||F||Wrong Answer !#2||
||00:39:47||A||Accepted||
||00:19:04||I||Accepted||
||00:08:49||L||Accepted||

比赛链接: http://10.71.10.90/sfiction/ranklist/ICPCCamp2017/ICPCCamp2017-Day4.htm

start at 10:00

== 流水账 ==

== 总结 ==

== 题解 ==


IL略去不表。

=== A. The Catcher in the Rye [sfiction] ===

光路最短,三分入射角即可。

=== B. Dissertation [sfiction] ===

dp(i,j)表示B串[1..i]在A串中长为j的公共子序列的最早结束位置。则dp(i,j)可以从dp(i-1,j)或者dp(i-1,j-1)转移过来。后者需要查询A串中dp(i-1,j-1)后B[i]的最早出现位置。根据预处理和查询的方式不同可以做到O(n+m!^2logm)或者O(nS+m!^2)。如果对所有dp(i,j)按照值的大小像最短路一样处理,则可以做到O(n+m!^2)。

=== C. Dominoes [JTJL, Akalm] ===

数字视为点,多米诺牌视为边。相当于求Kn的平面表示。n>=5时不存在。

=== D. Endgame ===

TBD

=== E. Evacuation [sfiction] ===

用set动态维护可达区间即可,区间增长lazy,区间相交作为一个合并事件,与闪电同步处理。O(nlogn)。

=== F. Factory [JTJL] ===

三分套三分或者模拟退火解费马点。

=== G. Grasshoppers [JTJL, sficiton] ===

xi=2x_{i+1}-1,用幂次代替下标得到多项式f(n)=f(n-1)*(2n-1)。快速幂+FFT求出多项式幂(循环意义下)。O(nlognlogt)。

=== H. Education Nightmare [JTJL, Akalm] ===

最大代价是所选s-m路径长度加上m到未经过点的最大距离。于是可以枚举最大深度d,维护访问所有深度大于d的点所需的最短路径长度。O(nlogn)。

=== J. Spoonerisms [Akalm, sfiction] ===

对所有非空前后缀去重,然后视为点,根据字符串在前后缀之间连边(长为l的字符串即有l-1个连接关系),得到一个二分图。在二分图上找四元环。O(n!^1.5)。

这个就是Trie树拼2016E30的G,赛场上居然想到别的地方去了……

=== K. A Text Problem [Akalm, JTJL] ===
TBD???
TimeProblemResult
03:31:17HAccepted
03:15:59HTime Limit Exceeded !#2
03:10:57GAccepted
03:02:01GWrong Answer !#2
01:19:15CAccepted
01:11:23BAccepted
00:54:50FAccepted
00:49:10FWrong Answer !#2
00:39:47AAccepted
00:19:04IAccepted
00:08:49LAccepted

比赛链接: http://10.71.10.90/sfiction/ranklist/ICPCCamp2017/ICPCCamp2017-Day4.htm

start at 10:00

流水账

总结

题解

IL略去不表。

A. The Catcher in the Rye [sfiction]

光路最短,三分入射角即可。

B. Dissertation [sfiction]

dp(i,j)表示B串[1..i]在A串中长为j的公共子序列的最早结束位置。则dp(i,j)可以从dp(i-1,j)或者dp(i-1,j-1)转移过来。后者需要查询A串中dp(i-1,j-1)后B[i]的最早出现位置。根据预处理和查询的方式不同可以做到O(n+m!2logm)或者O(nS+m!2)。如果对所有dp(i,j)按照值的大小像最短路一样处理,则可以做到O(n+m!^2)。

C. Dominoes [JTJL, Akalm]

数字视为点,多米诺牌视为边。相当于求Kn的平面表示。n>=5时不存在。

D. Endgame

TBD

E. Evacuation [sfiction]

用set动态维护可达区间即可,区间增长lazy,区间相交作为一个合并事件,与闪电同步处理。O(nlogn)。

F. Factory [JTJL]

三分套三分或者模拟退火解费马点。

G. Grasshoppers [JTJL, sficiton]

xi=2x_{i+1}-1,用幂次代替下标得到多项式f(n)=f(n-1)*(2n-1)。快速幂+FFT求出多项式幂(循环意义下)。O(nlognlogt)。

H. Education Nightmare [JTJL, Akalm]

最大代价是所选s-m路径长度加上m到未经过点的最大距离。于是可以枚举最大深度d,维护访问所有深度大于d的点所需的最短路径长度。O(nlogn)。

J. Spoonerisms [Akalm, sfiction]

对所有非空前后缀去重,然后视为点,根据字符串在前后缀之间连边(长为l的字符串即有l-1个连接关系),得到一个二分图。在二分图上找四元环。O(n!^1.5)。

这个就是Trie树拼2016E30的G,赛场上居然想到别的地方去了……

K. A Text Problem [Akalm, JTJL]

TBD???