Warning: session_start(): open(/tmp/sess_5e966d0e398e96cd7711e9ba8bb4d714, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430

Warning: mkdir(): No space left on device in /data/wiki/lib/plugins/dw2pdf/vendor/mpdf/mpdf/src/Cache.php on line 19
Temporary files directory "/data/wiki/data/tmp/dwpdf/323/" is not writable
Writing /data/wiki/data/cache/d/de2edb2fcb553ea79b79c722a4e13dbc.captchaip failed

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/actions.php on line 38

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/lib/tpl/dokuwiki/main.php on line 12
2020-2021:teams:alchemist:mountvoom:training1 [CVBB ACM Team]

用户工具

站点工具


2020-2021:teams:alchemist:mountvoom:training1

简况

AC 5题,属实菜逼。

比赛链接

题解

A. 张老师和菜哭武的游戏

题意:

有$1 \sim n$共$n$个数,最开始拿走$a, b, a \ne b$,当数$j$能被拿走时,当且仅当$\exists x, y$满足$x, y$已经被拿走且$x + y = j$或$x - y = j$,判断能拿走的数的个数的奇偶性。

题解:

可以看出,能被拿走的数一定能用$x * a + y * b$表示,也就是说这个数一定是$gcd(a, b)$的倍数。

那么判断$n / gcd(a, b)$的奇偶性即可。

B. 伤害计算

略,用python很好写。

C. 张老师的旅行

题意:

一条直线上有$n, n \leq 10^3$个点,最开始张老师在点$x$。

第$i$个景点在位置$p_i$,必须在$t_i$之前到达才能打卡。

求张老师想要打卡所有景点的最短时间,无解输出-1。

题解:

张老师打卡过的景点一定是连续的一段,于是令$dp[i][j][0/1]$表示已经打卡区间$[i, j]$,$k = 0$表示此时在$i$,为1表示此时在$j$。

转移时考虑从$dp[i + 1][j][0/1], dp[i][j - 1][0/1]$过来即可,需要判断一下到当前点时能否打卡这个景点,不能则无解。

D. 车辆调度

题意:

$w \times h$的广场上有若干目标点,障碍和最多4辆小车。

每次可以选择一辆小车让它往上、下、左、右4个方向一直走直到遇见障碍、边界、小车停下。

问操作$k, k \leq 5$次后,能否使得有一辆小车停在目标点。

题解:

暴力搜索即可。

E. 弦

总结:

做的时候合法方案数没去重,结果合法方案数算都算不出来。

算总方案数的时候没有考虑顺序问题,算合法方案数的却考虑了顺序问题导致白给。

题意:

给定一个圆,圆上有$2N, N \leq 10^7$个互不重叠的点。每次操作随机选择两个先前未选择过的点连一条弦,共连成$N$条弦,求所有弦不交的概率。

题解:

总方案数为$\frac{(2n)!}{n! \times 2^n}$。

合法方案数为$f(n) = \sum f(i) * f(n - i - 1) = \frac{C(2n, n)}{n + 1}$也就是卡特兰数。

相除即可得到答案。

F. 排列计算

题意:

给出一些询问,每次询问的是$[l, r]$这段数的和,并将它加入总分。

需要找到一个排列使得总分最大。

题解:

统计每个位置被取了多少次,按照被取次数从小到大填入$1 \sim n$即可。

G. 硬币游戏Ⅲ

H. 时空栈

I. 纸牌

J. 斐波那契和

2020-2021/teams/alchemist/mountvoom/training1.1589371769.txt.gz · 最后更改: 2020/05/13 20:09 由 mountvoom