【BJOI 2019】奥术神杖

题意

你有一个长度为 $n$ 的模板串(由 $0-9$ 这 $10$ 个数字和通配符 $.$ 组成),还有 $m$ 个匹配串(只由 $0-9$ 这 $10$ 个数字组成),每个匹配串有一个魔力值 $v_i$。你要把模板串的每个 $.$ 都换成一个数字,使得模板串的魔力值最大。模板串的魔力值定义为:模板串中每出现一次任意一个匹配串 $s_i$,字符串的魔力就 $\times v_i$。最终魔力值开 $c$ 次方根,$c$ 为模板串中出现的匹配串的总数。

$1\le n,m,s\le 1501,\space 1\le v_i\le 10^9$

题解

王·能过就行·子健

显然只要三个 $10^9$ 大小的数乘起来就爆 $long\space long$ 了(即 $\prod v_i$ 会很大),而高精度开根既难写又爆复杂度(光乘法就爆时间了),所以这题不是按照题目给的公式算魔力值。

高一数学必修 $1$ 中有一章讲了关于 $log$ 的各种性质,其中有两条

猜你喜欢

转载自www.cnblogs.com/scx2015noip-as-php/p/bjoi2019d1t1.html