题目链接
题意:用无限长的“1145141919”经过加、乘、括号、直接组成数字这四类方法用最短的前缀组成规定的数字。
首先,用dfs爆搜来进行初步估算,可以看出答案不会超过11,或者用穷举答案来看,如果存在非“3、7”的“-1”项,说明答案错了,扩大来看就可以了。
于是,我们就可以推个dp来进行打表了,我们用表示,来表示区间中,是否可以组成权值k的答案,然后我们推这样的一个区间dp就可以了。
打表程序:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
答案程序:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include