2018 ICPC Asia-East Continent Final

From EOJ Wiki
Revision as of 11:43, 18 December 2018 by Oxx1108 (talk | contribs) (→‎Replay)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

ECNU Foreigners

Replay

ultmaster:

  • 没来:没怎么看到我会做的题。这一定是因为题目太少了。(甩锅.jpg)
  • 前期一直在 200 多名徘徊。
  • 好像不管哪里少 20 分钟都能进顺位五啊?为什么又是这种不尴不尬的位置啊?
  • 难得的单线作战。

kblack:

  • 演爆了。
  • 好像不用女装了?

zerol:

  • kblack 虽然演了,但是多次阻止了惨剧发生,修复了队友。(那么修自己的 bug 容易还是修队友的 bug 容易?)
  • 难得来了一次,没有遗憾。(那是假的,随便哪里少一发罚时,kblack 就女装了好吗?)

Problem A

Unsolved. (-11)

比赛还剩半小时,无事可做。

Problem C

Solved by zerol. 02:53 (+1)

题意:问一个长度为 200 的 01 串在长为 $10^9$ 的 $|\mu(i)|$ 的数列中第一次出现的位置,或者不存在。

题解:考虑素数的平方的倍数一定是 0,计算答案模 4, 9, 25, 49, 121, 169 的可能的余数,然后 CRT 求出这个数,然后从小到大判断。注意如果可能性太多肯定是无解的(比如全是 0)。

Problem D

Solved by ultmaster. 00:19 (+)

温暖的签到。(被 kblack 抢机了。

Problem F

Solved by kblack. 01:16 (+1)

小学数学题,死于式子抄漏。

Problem H

Unsolved. (-1)

配合演出。

Problem I

Solved by zerol. 01:40 (+)

题意:初始攻击 A 和攻击增长速率 D 均为 0。每一回合 A 会增加 D,然后选择以下的一种:

1. 造成 $A+a_i$ 伤害。

2. $D$ 增长 $b_i$。

3. $A$ 增长 $c_i$。

求最大能造成的总伤害。

题解:倒着 DP。两维状态,一维是之前增加 D 能对之后攻击造成的贡献次数,一维是增加 A 的贡献。复杂度 $O(n^4)$。

zerol:kblack 送我的题。

Problem J

Solved by zerol & kblack. 04:07 (+3)

题意:求 $\max_{p_i} \min_j \{ \sum_{i=1}^n p_ilcp(s_i, s_j) \}$ 其中 $\sum p_i = 1$,也就是说求一个选后缀的概率分布,使得和某一个后缀的 lcp 的期望的最小值最大。

题解:考虑后缀树,每个后缀结点往根的路径上贡献 $p_i$,然后使得后缀结点到根的路径上的和的最小值最大。后缀自动机建后缀树后树形 dp,求出每棵子树的答案。如果遇到后缀结点直接归 0,否则就是子节点的调和平均,往父节点贡献时加上边权。

zerol: 后缀自动机建后缀树没反向插入(还好被 kblack 看出来了),问题是还能过样例。

Problem L

Solved by zerol. 01:14 (+3)

题意:有两种车站,可以花费代价 1 去同一种车站,也可以花费 1 走一条边,问每个点到所有其他点的最短路之和。(保证两两可达)

题解:最大距离不超过 3,并忽略所有同一种车站之间的边。考虑每一个点,到同一种的其他车站代价都是 1。另一种的代价计算然后分两种情况

这个点有度:那么与这个点直接相邻的点代价为 1,否则为 2。

这个点没度:那么另一侧有度的点代价为 2,否则为 3。

zerol:反复确认题意才读懂的。

kblack: 罚时都是我的,自闭签到,为了不女装(逃

One,Two,Three,AK

Replay

oxx1108:

  • 金牌题就是个暴力
  • 唯一一场前期没崩,结果就水了个金

dreamcloud:

Xiejiadong:

  • 抱着 oxx 的大腿,捡了块金牌。
  • 西工大真荒凉。女生真少,真是个学习的好地方(并不觉得)。
  • 这个H是真的读不懂啊。
  • 打题两小时,划水三小时,最后直接躺地上了。

Problem C

Solved by oxx1108. 04:18 (+2)

题意:问一个长度为 200 的 01 串在长为 $10^9$ 的 $|\mu(i)|$ 的数列中第一次出现的位置,或者不存在。

题解:考虑素数的平方的倍数一定是 0,暴力枚举所有答案模 4 * 9 * 25 * 49 的余数,再对于可行的枚举倍数。特判掉0特别多的就没剩多少了。

Problem D

Solved by dreamcloud. 00:10 (+)

Problem F

Solved by oxx1108. 01:21 (+1)

题意:求三维空间一个点到另一个点不经过球的最小距离。

题解:两点和球心画出三角形余弦定理算一下角度就行。

Problem G

Unsolved. (-1)

最后半小时没事干了,随便写写,似乎算法对了?

Problem I

Solved by Xiejiadong & oxx1108. 01:54 (+)

显然dp。

正着推不出来,那就倒着推。

$dp[i][j][k]$表示到$i$回合,已经攻击了$j$次,攻击回合的和为$k$的最大攻击和。

状态数量已经接近$10^8$,$O(1)$转移,要注意常数的优化。

Problem L

Solved by Xiejiadong. 00:34 (+1)

大力讨论。

1.如果这个点的度数为0

  • 对面度数为0的点,需要三步
  • 对面度数不为0的点,需要两步
  • 自己这边除自己以外,需要一步

2.如果这个点的度数不为0

  • 对面直接相连的点,需要一步
  • 对面不直接相连的点,需要两步
  • 自己这边除自己以外,需要一步

不过要注意,给的边,可能是同一边的点,巨坑