U116371 数论.练习储备九——逛街
题目背景
ThinkofBlank和Bxbl要去逛街辣!(时空混乱警告)
他们发现,这里有很多的物品,只要有钱,他们想买啥就买啥!
题目描述
突然,从人群中钻出来一个pig
pig:你们知道,你们现有的钱分别买价值1-n的物品一共有多少种方案吗?你们知道,你们可以买多少种价格不同的物品吗?
ThinkofBlank&Bxbl:???我是谁?我在哪?我在干什么?
其中n为两人现在所拥有的钱之和
给你m个数,每个数有一个面值ai,表示当前的面值
子任务一:
求出用这些钱分别买价值为1-n的物品的方案数,对998244353取模
子任务二:
求出现有的钱可以支付多少不同价值的物品?(由于老板没有零钱,所以我们要求给的钱的价值之和必须等于该物品价值)
输入格式
一个整数opt,表示当前做的任务的编号
一个整数m,表示有的钱的个数
之后m行,每行一个整数ai,表示相应钱的面值
输出格式
对于子任务一,输出n个整数,表示买各个价格的物品的方案数(每个一行)
对于子任务二,输出一个整数,表示个数(包括0)
说明/提示
如果有大佬用dpAC此题,请务必分享下您的做法,谢谢!
注意,对于相同面值的货币,我们视为相同货币,即:
若a1=a2,那么{a1,a3}和{a2,a3}视为相同方案
$opt\in ${1,2}$,a_i\in N^*$
设n=$\sum_{i=1}^{m}a_i$。
则,对于n