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