12月月考题解
T1 火柴棍
题意简述
答案对
$998244\textcolor{#E74C3C}{8}53$
$998244\textcolor{#9D3DCF}{8}53$
$998244\textcolor{#7E0C6E}{8}53$
$998244\textcolor{#52C41A}{8}53$
$998244\textcolor{#3498DB}{8}53$
$998244\textcolor{#0E1D69}{8}53$
取模!
解题思路
在赛时我打了 $30%$ 数据强度的搜索,发现一种贪心策略:先保证拼出的数的位数小,再保证大小。因为 $8$ 所需要的火柴棍数量最多($7$ 根),所以尽可能的拼 $8$,然后再考虑剩下的数。
赛时因为懒没把 $1-30$ 所有的数打表出来,没发现 $17$ 其实并不满足上面的贪心策略,$18$ 以后就满足了,导致挂分。
代码实现
先打表打出 $2 - 17$ 的答案,然后递推至 $100000$。
T2 游戏
永远的7日之都!
解题思路
因为 $n \times m \le 30$,所以可以爆搜,只需要在传参的时候补上上一步走的方向。题目并没有要求方案最优,所以我们只要搜到了一种可行路径,就里面把所有的分枝剪掉(剪枝× 除根√)。
代码实现
咕咕咕...
虽然但是,为什么我把 Debug 用的代码交上去了啊喂!
T3 第K排列
解题思路
枚举 ?
所有的可能,先枚举字典序大的,再用可行性剪枝,怎么剪呢?用 $dp$!令 $f_{i,j}$ 表示 $i - n$ 最大能产生的价值。$j$ 的取值只有 $0,1,2,3$,分别对应:$N O I P$。
代码实现
搜索传参:第几位,已经确定的价值。
T4 成绩单
解题思路
咕咕咕...
真的还不会