ACM-ICPC 2018 Jiaozuo Online Contest

From EOJ Wiki
Revision as of 15:41, 15 September 2018 by Ultmaster (talk | contribs) (→‎Problem F)
Jump to navigation Jump to search

ECNU Foreigners

终于一机了。发现可能还是浪费了一点时间。(某些题花的时间太久了)

比赛体验很不好,卡读入,卡内存,卡常,数据范围不写清楚。

Problem A

Solved by zerol. 00:07 (+)

温暖的签到。

Problem B

Solved by ultmaster. 01:03 (+)

题意:要求从 $n$ 个数中挑出 $m$ 个数,然后用加减乘除等规定的运算符号依次作用在当前的这个数上,结果尽可能大。

题解:最小可能不一定,但最大应该就是维护一个最大一个最小就好了。DP。

Problem E

Solved by kblack. 02:02 (+1)

题意:树上路径加乘、位取反、求和。

题解:位取反相当于用全 $1$ 减,可以和加乘标记合并,然后就是模板时间了。

Problem F

Solved by zerol. 04:25 (+)

题意:有若干条线段,每条有一个价值,要求选其中的一些,使得同一个点至多被覆盖 k 次,价值和最大是多少。

题解:线性规划,单纯形过了。

ultmaster: 一直不上的原因是 一直认为单纯形会出现解(方案)是分数的问题。后来构造(猜测)了一下好像根本不会出现。然后一下子就过了。

Problem G

Solved by zerol. 00:25 (+)

题意:略(反正是签到)

题解:$2^{n-1}$

Problem H

Solved by zerol. 03:26 (+2)

题意:求一个字符串中出现次数在 L~R 之间的子串个数。

题解:后缀自动机裸题。但是交了 MLE 才发现 2E6 的范围只给了 64MB 内存,若干小时后,发现几百个人过了,于是把数组改小了,assert 一个字符串不超过 2E5 大小,结果就过了。

zerol: 数据范围不写清楚,内存又给得那么吝啬,比赛中还不更正题面。出题人你过来,保证不打死你。

Problem I

Solved by zerol. 00:15 (+)

题意:问 A×B×C 的立方体能否被 1×1×2 完全填充。

题解:当且仅当 A×B×C 为偶数时可以(证明显然)。

Problem J

Solved by ultmaster. 02:27 (+1)

题意:问一个数是否是完全平方数,问 $1+2+\cdots+k$ 是否是完全平方数。

题解:二分,大数。有点卡常,后面一问优化了常数才过。

另解:模质数做二次剩余,但是被队友拦住了。

Problem K

Solved by kblack. 00:46 (+2)

题意:$n$ 种硬币,求凑单方式。

题解:经典的生成函数/容斥(喜欢叫什么就叫什么)就好了。

Problem L

Solved by kblack. 00:19 (+)

题意:求长度为 $n$,字符集大小 $3$ 的,且不包含特殊模式的串。

题解:上两个字符作为 DP 状态,用矩阵乘法优化。

One,Two,Three,AK

Xiejiadong:全程划水,抱紧大腿。

Problem A

Solved by oxx1108. 0:10:55 (+1)

Problem B

Solved by . 1:34:30 (+2)

Problem C

Unsolved.

Problem D

Unsolved.

Problem E

Solved by Xiejiadong. 4:23:20 (+1)

Problem F

Solved by oxx1108. 4:35:30 (+4)

Problem G

Solved by dreamcloud. 0:22:20 (+)

题意:输出$2^{n-1}$

题解:如上

Problem H

Unsolved.

Problem I

Solved by dreamcloud. 0:11:05 (+)

题意:给你一个$A\times B \times C$的长方体,问你能否用$1 \times 1 \times 2$的长方体铺满

题解:签到题,判$A \times B \times C$是否是偶数

Problem J

Solved by dreamcloud && oxx1108. 3:36:42 (+10)

Problem K

Solved by dream_cloud. 0:53:47 (+1)

题意:有$n$个码头,第$i$码头有$c_i$艘同样的船,每艘船都能运$w_i$吨的货物,问你运$s$吨的货物有多少种不同的对船的安排。

题解:dp式子,$dp[i][j]$,只用前$i$个码头的船运$j$吨的货物有多少种不同的方案数,$dp[i][j] = \sum_{k = 0}^{k <= min(c_i,\lfloor \frac{j}{w_i}\rfloor)} dp[i-1][j-k\times w_i]$,虽然乍看上去是三方式子,但是每次枚举$j$的时候,不是直接$++j$,而是$j+=w_i$,用单调栈维护$ dp[i-1][j-k \times w_i], (k <= min(c_i,\lfloor \frac{j}{w_i}\rfloor))$

Problem L

Solved by oxx1108 && Xiejiadong. 0:31:53 (+)

Xiejiadong:我就是打了个dfs。划水。