动态规划——计数类dp

news/2024/6/16 3:24:23 标签: 动态规划, 算法

例题:acwing900整数划分

完全背包解法

#include <iostream>
#include <algorithm>

using namespace std;

const int N = 1010, mod = 1e9 + 7;

int n;
int f[N];

int main()
{
    cin >> n;

    f[0] = 1;
    for (int i = 1; i <= n; i ++ )
        for (int j = i; j <= n; j ++ )
            f[j] = (f[j] + f[j - i]) % mod;

    cout << f[n] << endl;

    return 0;
}

其他解法

#include <iostream>
#include <algorithm>

using namespace std;

const int N = 1010, mod = 1e9 + 7;

int n;
int f[N][N];

int main()
{
    cin >> n;

    f[1][1] = 1;
    for (int i = 2; i <= n; i ++ )
        for (int j = 1; j <= i; j ++ )
            f[i][j] = (f[i - 1][j - 1] + f[i - j][j]) % mod;

    int res = 0;
    for (int i = 1; i <= n; i ++ ) res = (res + f[n][i]) % mod;

    cout << res << endl;

    return 0;
}


http://www.niftyadmin.cn/n/5466146.html

相关文章

Web自动化测试框架详解

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 实施过了web系统的UI自动化&#xff0c;回顾梳理下&#xff0c;想到什么写什么&#xff0c;随时…

2024年重庆交通大学第十五届蓝桥杯测试赛2题解Java版

A. 两双鞋换着穿 题目描述: 小蓝有两双不同的鞋,可以换着穿,一双鞋,可以穿1天就换另一双,也可以连续穿2天再换另一双,但同一双鞋不能连续穿3天。用这两双鞋搭配穿n天,总共有多少种不同的方案。两种方案,只要有一天穿的鞋子不一样,就认为是不同的方案。用A、B代表这两…

【Linux】进程管理(2):进程控制

一、进程创建&#xff1a;fork函数 我们在命令行中输入man fork 即可得到fork函数的函数接口的函数的使用方法。 我们可以看到&#xff0c;fork函数位于man手册的第2部分&#xff0c;由于第2部分通常是用于描述系统调用和库函数&#xff0c;所以我们可以了解到fork函数实际是一…

力扣之每日四题day01--二叉树遍历篇

二叉树遍历 144.二叉树的前序遍历145.二叉树的后序遍历94.二叉树的中序遍历102.二叉树的层序遍历 144.二叉树的前序遍历 力扣地址 import java.util.ArrayList; import java.util.List;/*** Definition for a binary tree node.* public class TreeNode {* int val;* …

电子投标中如何快速拆分文件内容

电子投标中如何快速拆分文件内容&#xff1a; 电子投标中常常需要拆分文件内容&#xff0c;拆分成单独的一章章的上传上去&#xff0c;如何快速的解决这个问题呢 核心原理&#xff1a;针对word中的一级标题进行拆分的&#xff0c;所以你要设置好word投标文件中的一级标题 步…

蓝桥杯备考随手记: 字符串转换

在Java中&#xff0c;字符串转换是指将一个数据类型的变量转换成字符串类型的操作。字符串转换可以通过以下几种方式实现&#xff1a; 使用String类的valueOf()方法&#xff1a;该方法可以将任意数据类型转换成字符串类型。例如&#xff1a; int num 10; String str String.v…

QT实现windows下获取CPU、内存及磁盘信息

一.目的 QT代码实现windows下获取CPU、内存及磁盘信息。 二.代码实现 1.获取CPU和内存信息 #include <Windows.h> // 获取CPU信息 SYSTEM_INFO systemInfo; GetSystemInfo(&systemInfo); qDebug() << "CPU Architecture:" << (systemInfo.wP…

机器学习 | 线性判别分析(Linear Discriminant Analysis)

1 机器学习中的建模 1.1 描述性建模 以方便的形式给出数据的主要特征&#xff0c;实质上是对数据的概括&#xff0c;以便在大量的或有噪声的数据中仍能观察到重要特征。重在认识数据的主要概貌&#xff0c;理解数据的重要特征。 Task&#xff1a;聚类分析&#xff0c;数据降…