news 2026/4/16 15:06:53

每日一题:Classroom (计数DP)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
每日一题:Classroom (计数DP)

题目链接:Problem - F - Codeforces

题意:

有 n 个学生,从1到n,要把他们分成连续的若干组(组数量不固定),满足 3 个要求:(1 ≤ n ≤ 5 ∗ 1e3)

1.第一组从第 1 个学生开始,最后一组到第 n 个学生结束,组内为连续整数,组间也需要连续;

2.第 1 组的总和能被 1 整除,第 2 组的总和能被 2 整除,……,第 k 组的总和能被 k 整除(k 是组的序号);例如:1 2 3 4 5可分为[1] [2 3 4 5] 或 [1 2] [3 4 5]等。

计算这样的分组方法有多少种,结果对 10⁹+7 取模。

核心思路:

定义dp[i][j]表示:将前j个学生分割成i个组,且满足所有条件的方法数。

初始化:dp[1][k] = 1(k≥1)

ans =∑(dp[i][n])(i 从 1 到 n)

对于j ≥ 2dp[j][k] = ∑(dp[j-1][t]),其中t满足:t < k(保证第 j 组是[t+1, k],连续)并且第 j 组的和sum(t+1, k)能被j整除。但直接写会超时。

转移方程中 t 同时也满足sum(1,t)与sum(1,k)关于j同余,可以用一个数组维护,复杂度O(n2)。

#include <bits/stdc++.h> using namespace std; #define int long long const int mod = 1e9 + 7; void solve() { int n; cin >> n; vector<int> dp(n + 1, 1); int ans = 1; for (int i = 2; i <= n; i++) { vector<int> f(i + 1), ndp(n + 1); int tem = 0; for (int j = 1; j <= n; j++) { tem = (tem + j) % i; ndp[j] = f[tem]; f[tem] = (f[tem] + dp[j]) % mod; } dp = ndp; (ans += dp[n]) %= mod; } cout << ans; } signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); int t = 1; // cin >> t; while (t--) solve(); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:31:40

Modbus Server数据采集Web之Server端模拟功能

感觉很多人对这个开源工具的功能很感兴趣&#xff0c;介绍一下设计方案以及当前的研发进度&#xff0c;当前介绍的是正在设计和开发的Server模拟功能。 要求&#xff1a; 1、Modbus Server管理&#xff08;CURD&#xff09;&#xff0c;创建TCP和RTU服务端&#xff1b; 2、具备…

作者头像 李华
网站建设 2026/4/16 9:24:07

ROS2概念之DDS

我们在《ROS2概述和基于RK3588的环境搭建》中对ROS和ROS2做了对比&#xff0c;其中最多的变化就是DDS。我们在前面文章中介绍的话题、服务、动作&#xff0c;他们底层通信的具体实现过程&#xff0c;都是靠DDS来完成的&#xff0c;它相当于是ROS机器人系统中的神经网络。 一、通…

作者头像 李华
网站建设 2026/4/16 9:24:20

如何彻底解决腾讯游戏卡顿:sguard_limit资源限制器完整指南

如何彻底解决腾讯游戏卡顿&#xff1a;sguard_limit资源限制器完整指南 【免费下载链接】sguard_limit 限制ACE-Guard Client EXE占用系统资源&#xff0c;支持各种腾讯游戏 项目地址: https://gitcode.com/gh_mirrors/sg/sguard_limit 还在为腾讯游戏关键时刻的突然卡顿…

作者头像 李华
网站建设 2026/4/16 13:04:53

重塑复古美学:Analog Diffusion胶片质感图像生成的15个实战技巧

重塑复古美学&#xff1a;Analog Diffusion胶片质感图像生成的15个实战技巧 【免费下载链接】Analog-Diffusion 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/Analog-Diffusion 还在为AI生成图片缺乏真实胶片的细腻质感而苦恼吗&#xff1f;试遍了各种滤镜…

作者头像 李华
网站建设 2026/4/16 11:12:32

unioffice终极指南:用Go语言高效处理Office文档的完整方案

unioffice终极指南&#xff1a;用Go语言高效处理Office文档的完整方案 【免费下载链接】unioffice Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents 项目地址: https://gitcode.com/gh_mirrors/un/unioff…

作者头像 李华
网站建设 2026/4/16 13:02:57

NPDP产品管理体系深度解析

NPDP产品管理体系深度解析 【免费下载链接】产品经理认证NPDP知识体系指南分享 《产品经理认证&#xff08;NPDP&#xff09;知识体系指南》是一份全面的产品经理知识体系指南&#xff0c;旨在为产品经理和产品开发人员提供一个系统的知识框架&#xff0c;帮助他们更好地了解产…

作者头像 李华