The Preliminary Contest for ICPC Asia Shenyang 2019

Contest Info


[Practice Link](https://www.jisuanke.com/contest/3007?view=challenges)
Solved A B C D E F G H I J K
8/11 - O O O Ø O - O - Ø O
  • O 在比赛中通过
  • Ø 赛后通过
  • ! 尝试了但是失败了
  • - 没有尝试

Solutions


B. Dudu's maze

题意:
有一张无向图,刚开始在\(1\)号点,有的点有糖果有的点有怪兽,如果在没有怪兽的点,那么可以任意选择一条边往下走,如果该房间有糖果,可以获得糖果,获得一次后再次进入是没有糖果的。
但是如果第一次进入怪兽房间,那么会等概率随机选择一条边往下走,如果第二次进入,会马上退出游戏。
问最优选择下获得糖果的最大期望是多少。

思路:
首先不考虑怪兽房间,那么那么糖果房间会形成若干个连通块。
首先将\(1\)所在连通块里的糖果全都拿掉。
再考虑和\(1\)相连的怪兽房间的获得糖果的最大期望值是哪个房间,选择最大的进去即可。

C. Dawn-K's water

D. Fish eating fruit

题意:
统计一棵树上所有路径中模\(3\)同余\(0, 1, 2\)的路径和。

思路:
点分治即可。

E. Gugugu's upgrade schemes

题意:
\(n\)种基本武器,每两种可以升级成一种新武器,现在询问最后拥有的武器集合不同的方案数有多少个。

思路:
将一个升级的武器可以看成是若干个基本武器升级过来的,那么问题等价于\(n\)个基本武器的集合划分树,那么是贝尔数。
再考虑预处理贝尔数的时间复杂度是\(n^2\),但是注意到\(p\)很小,所以可以使用Touchard同余进行递推。

F. Honk's pool

题意:
\(n\)个瓶子,每个瓶子刚开始有\(a_i\)升水,有\(k\)次操作,每次操作选择一个水最多的瓶子和一个水最少的瓶子从最多的往最少的那里倒一升水,现在询问\(k\)次操作后水最多的瓶子和水最少的瓶子的水的差值是多少。

思路:
有一条分界线是所有水的平均数,那么可以按这个界限将所有瓶子分成两类,小的那类水会获得\(k\)升水,目标是使得最小的尽量大,大的那类水会失去\(k\)升水,目标是使得最大的尽量小。
二分即可。

H. Texas hold'em Poker

模拟即可。

J. Ghh Matin

题意:
\(n\)个点的图,询问有多少张图满足每个点的出度和入度都为\(1\),并且最大的环的大小不超过\(x(n \leq 2x)\)
思路:
总共有多少张图?
考虑一共有\(n\)条边,每次选择一个出度为\(0\)和入度为\(0\)的点出来连边,那么第一次有\(n\)种选择,第二次有\(n - 1\)种选择...,所以总方案数是\(n!\).
我们考虑反面,即有多少张图最大的环的大小超过\(x\)
注意到\(x \geq n / 2\),那么也就是说在一张图里面,这样的环最多只有一个,并且有一个\(x + 1\)的环和有一个\(x + 2\)的环是互斥事件,所以最终概率加起来即可。
那么考虑有长度为\(y(y \geq x)\)的环的图有多少张?
先选择\(y\)个点,形成一个环,剩下的点再形成一个环,那么是:

\[\begin{eqnarray*} {n \choose y} \cdot y! \cdot (n - y)! / n! \end{eqnarray*} \]

然后对于所有\(y \in [x + 1, n]\)的概率加起来即是不合法的概率,反面就是合法的概率

K. Guanguan's Happy water

posted @ 2019-09-15 10:23  Dup4  阅读(269)  评论(0编辑  收藏  举报