[ABC221H] Count Multiset

news/2024/9/20 16:00:02

题意

image

思路

参考了题解做法。

\(f_{i, j}\) 表示填入 \(i\) 个数字,和为 \(j\) 的方案数。

每次可以填入 \(0\),或者将整个数列 \(+1\)

\(g_{i, j}\) 表示填入 \(i\) 个数字,且这 \(i\) 个数字中没有 \(0\),何为 \(j\) 的方案数。

易得 \(g_{i, j} = f_{i, j - i}\),表示在 \(i\) 个数字的和为 \(j - i\) 的情况下给每个数字 \(+1\),这样保证了所有数字均不为 \(0\)

下面看 \(f\) 的转移。

\(f_{i, j} = \sum\limits_{k = 1} ^ {m} g_{i - k, j}\) 表示填入 \(k\)\(0\)

\(f_{i, j} = f_{i, j - i}\),表示全体 \(+1\)

代码

#include <bits/stdc++.h>using namespace std;const int N = 5010, mod = 998244353;int f[N][N];
int g[N][N];
int sum[N][N];
int n, m;int main() {ios::sync_with_stdio(false);cin.tie(nullptr);cin >> n >> m;for (int i = 1; i <= m; i++) f[i][0] = 1;for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {if (j >= i) {g[i][j] = f[i][j - i];f[i][j] = f[i][j - i];}sum[i][j] = (sum[i - 1][j] + g[i][j]) % mod;int l = i - m, r = i - 1;(f[i][j] += (sum[r][j] - sum[max(0, l - 1)][j]) % mod) %= mod;}}for (int i = 1; i <= n; i++) cout << (g[i][n] + mod) % mod << '\n';return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/62582.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

ModelForm

1.7 ModelForm使用Form创建Form类 + 定义字段 class LoginForm(forms.Form):user = forms.CharField(label="用户名", widget=forms.TextInput)pwd = forms.CharField(label="密码", widget=forms.TextInput)视图def login(request):if request.method == …

SPI协议

1、简介 ​SPI协议是一种高速全双工同步串行通信协议,由一个主设备和一个或多个从设备组成。 ​四线协议:MISO(Master Input Slave Output)/SDI(Serial Data Input)、MOSI(Master Output Slave Input)/SDO(Serial Data Output)、SCLK(Synchronous Clock)、CS(Chip Select) 1、…

C#使用HttpWebRequest读取网站内容遭遇503错误

本人多年编程小白,天生编程白痴体质。大家莫见笑。 自己用C#写了一段代码,使用HttpWebRequest,通过SOHU的API接口获取指定股票的交易信息。 该段代码一直运行正常。最近开始报错。 详细信息如下: System.Net.WebException HResult=0x80131509 Message=远程服务器返回错误: (…

算法随笔——wqs二分

学习链接 学习链接 应用条件选择恰好 \(x\) 个物品,求最优值 设 \(x\) 对应最优值 \(f_x\) ,\((x,f_x)\) 在图像上呈现为凸包。 无数量限制问题简单可做问题转化 有 \(n\) 个物品,恰好选 \(m\) 个,计算最优值。 做法例题 模版题:P2619

modbus设备数据 转 profinet IO项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 设置网关采集MODBUS从站数据 2 5 用PROFINET IO协议转发数据 8 6 案例总结 10 1 案例说明设置网关采集Modbus设备数据 把采集的数据转成profinet IO协议转发给其他系统。2 VFBOX网关工作原理 VFBOX网关是协议转换网关,…

WPF开发 direct3d11 调试报错

环境:VS2022 WPF Win11 过程:准备调试d3d11着色器转换nv12->rgb的过程 报错信息:DXGI_ERROR_SDK_COMPONENT_MISSING 应用程序请求的操作依赖于已缺失或不匹配的 SDK 组件。 解决方案::需要在自己电脑中进行设置 【设置】-【系统】-【可选功能】-【查看功能】-【图形工具…

Cloudera安装指南:打造你的大数据基础环境

Cloudera manage系统环境准备、基础环境安装、集群部署以及应用组件安装等全方位的技术运维内容。无论您是初学者还是资深工程师,都能在这里找到适合自己的学习资料和实战经验。我们致力于为您提供最新、最全面的Cloudera大数据技术运维知识,帮助您轻松应对各种技术挑战。Clo…

uni-app上架ios语言设置

客户反馈了一个问题,日文的应用上架后在商店中,却显示了其他语言,解决方案如下 1.添加要设置的语言2.最重要的一步,在 app-plus 中添加下述代码 name 是app名称"app-plus" : {"locales" : {"ja" : {"name" : "xxx","…