计数类Dp

文章目录

  • AcWing 900. 整数划分
    • 思路
      • 1. 完全背包
        • AC CODE
      • 2. 计数Dp
        • AC CODE


AcWing 900. 整数划分

链接:https://www.acwing.com/activity/content/problem/content/1008/
在这里插入图片描述


思路

1. 完全背包

完全背包的链接:https://blog.csdn.net/2301_78981471/article/details/135065651

我们可以用完全背包的思想来做:在前 i 件物品中,选出若干件,使其和正好为 j
然后根据完全背包的优化思路将其压缩至一维即可。

AC CODE
#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 1010;
const int 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;
}

2. 计数Dp

在这里插入图片描述

  • 将状态划分为两种:方案中的最小值是1与不是1
    • 是1:把这个1减去,也就是总和为 i - 1 且表示为 j - 1个数的方案,两者等值(f[i - 1, j - 1]
    • 非1:值与将方案中所有数字全部-1得到的方案的方案数相同,也就是从前 j 个数中选出总和为 i - j 的方案的方案数(f[i - 1, j - i]
  • 最后要把所有方案求和。
AC CODE
#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 1010;
int n;
int f[N][N];
int mod = 1e9 + 7;

int main()
{
    cin >> n;
    
    f[0][0] = 1;
    
    for(int i = 1; i <= n; ++i){
        for(int j = 1; j <= i; ++j){
            f[i][j] = (f[i - 1][j - 1] + f[i - j][j]) % mod;
        }
    }
    
    int sum = 0;
    for(int i = 1; i <= n; ++i) sum = (sum + f[n][i]) % mod;
    
    cout << sum << endl;
}

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

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

相关文章

安装小知识:无源无线测温传感器可以安装在哪些部位?

一、无源无线测温传感器介绍 无源无线测温传感器采用超低功耗设计&#xff1a;主芯片采用美国TI公司&#xff0c;功耗低&#xff0c;低可至0.03mw&#xff0c;区别于传统的感应供电&#xff0c;不存在发热现象。测温元件采用耐高温、高精度热敏电阻&#xff0c;测温范围宽至-40…

ETH共识升级之路

简介 根据我们之前的介绍&#xff0c;了解到ETH网络的共识方式&#xff0c;已经从 PoW 切换到了 PoS&#xff0c;今天我们就回顾下升级之路&#xff0c;以及升级带来的影响 最早的共识机制 PoW 以太坊创建之初采用了类似比特币的工作量证明机制&#xff0c;即矿工通过计算哈希函…

案例分析篇12:可靠性设计考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-…

爬虫入门到精通_框架篇18(Scrapy中选择器用法)_sector,xpath,css,re

官方文档 Using selectors To explain how to use the selectors we’ll use the Scrapy shell (which provides interactive testing) and an example page located in the Scrapy documentation server: https://docs.scrapy.org/en/latest/_static/selectors-sample1.html…

LeetCode.2864. 最大二进制奇数

题目 2864. 最大二进制奇数 分析 这道题目其实我们只需要保证最后一位是1&#xff0c;其余的1都放在最前面&#xff0c;这样得到的就是最大二进制奇数。 所以&#xff0c;我们先统计给定的字符串有多少个 1&#xff0c;多少个 0&#xff0c;把其中一个 1 放在最后一位&…

使用STM32+ESP8266(ESP-01S)+点灯科技(手机端Blinker)实现远程控制智能家居

硬件准备&#xff1a;STM32单片机、ESP8266&#xff08;ESP-01S&#xff09;、CH340C下载烧录器 软件准备&#xff1a;STM32CubeMX、Keil uVision5、Arduino IDE、 点灯科技&#xff08;手机端APP Blinker&#xff09;点灯科技 (diandeng.tech)点击进入 值得注意的是&#x…

工业界真实的推荐系统(小红书)-用户行为序列建模:LastN、DIN、SIM

课程特点&#xff1a;系统、清晰、实用&#xff0c;原理和落地经验兼具 b站&#xff1a;https://www.bilibili.com/video/BV1HZ421U77y/?spm_id_from333.337.search-card.all.click&vd_sourceb60d8ab7e659b10ea6ea743ede0c5b48 讲义&#xff1a;https://github.com/wangsh…

武汉灰京文化:RPG手游营造的奇幻世界

近年来&#xff0c;RPG手游在游戏市场上异军突起&#xff0c;成为年轻玩家追逐的焦点。这类游戏以其深度的游戏体验和吸引人的故事情节&#xff0c;吸引了大批玩家投入其中。那么&#xff0c;为何热衷于RPG手游&#xff1f;本文武汉灰京文化将从社交互动、沉浸式体验、成就感和…

压缩json字符串

GZIPOutputStream 需要关闭&#xff0c;而 ByteArrayOutputStream 不需要关闭。具体原因如下&#xff1a; GZIPOutputStream&#xff1a;GZIPOutputStream是一种过滤流&#xff0c;它提供了将数据压缩为GZIP格式的功能。当使用此类的实例写入数据时&#xff0c;它会对数据进行压…

C++ 网络编程学习五

C网络编程学习五 网络结构的更新单例模式懒汉单例模式饿汉单例模式懒汉式指针智能指针设计单例类 服务器优雅退出asio的多线程模型IOServiceasio多线程IOThreadPoolepoll 和 iocp的一些知识点 网络结构的更新 asio网络层&#xff0c;会使用io_context进行数据封装&#xff0c;…

pgsql常用索引简写

文章来源&#xff1a;互联网博客文章&#xff0c;后续有时间再来细化整理。 在数据库查询中&#xff0c;合理的使用索引&#xff0c;可以极大提升数据库查询效率&#xff0c;充分利用系统资源。这个随着数据量的增加得到提升&#xff0c;越大越明显&#xff0c;也和业务线有关…

数据库 04-02 实体属性修改,E-R图,强弱实体集

01.开始设计E-R图的时候&#xff0c;第一个步骤是选择实体&#xff0c;而后选择实体的属性 例子&#xff1a; 02.实体属性的冗余 例子1&#xff1a; 两个实体集&#xff1a; 一个联系集&#xff1a; 属性departname 效果&#xff1a; 例子2&#xff1a; 两个实体集&am…

MySQL中出现‘max_allowed_packet‘ variable.如何解决

默认情况下&#xff0c;MySQL的max_allowed_packet参数可能设置得相对较小&#xff0c;这对于大多数常规操作来说足够了。但是&#xff0c;当你尝试执行包含大量数据的操作&#xff08;如大批量插入或大型查询&#xff09;时&#xff0c;可能会超过这个限制&#xff0c;从而导致…

DVWA-master 存储型xss

什么是存储型xss 存储型xss意味着可以与数据库产生交互的&#xff0c;可以直接存在数据库中 先将DVWA安全等级改为低 先随便写点东西上传 我们发现上传的内容会被显示&#xff0c;怎么显示的呢&#xff1f; 它先是上传到数据库中&#xff0c;然后通过数据库查询语句将内容回显 …

史上最牛Linux详解,看完直接带你由入门到精通!

第一部分&#xff1a;入门 第二部分&#xff1a;成为一名linux高级用户&#xff1a; 第三部分&#xff1a;成为一名Linux系统管理员 第四部分&#xff1a;成为一名Linux服务器管理员 因文章内容过长&#xff0c;目录先放这些&#xff0c;因为接下来还要放一些内容 小编13年上海…

如何在Linux部署Docker Registry本地镜像仓库并实现无公网IP远程连接

文章目录 1. 部署Docker Registry2. 本地测试推送镜像3. Linux 安装cpolar4. 配置Docker Registry公网访问地址5. 公网远程推送Docker Registry6. 固定Docker Registry公网地址 Docker Registry 本地镜像仓库,简单几步结合cpolar内网穿透工具实现远程pull or push (拉取和推送)…

DB算法原理与构建

参考&#xff1a; https://aistudio.baidu.com/projectdetail/4483048 Real-Time Scene Text Detection with Differentiable Binarization 如何读论文-by 李沐 DB (Real-Time Scene Text Detection with Differentiable Binarization) 原理 DB是一个基于分割的文本检测算…

如何在idea中配置tomcat服务器,然后部署一个项目

文章目录 前言第一步 先新建一个空项目第二步 添加框架支持第三步 添加配置及如何部署最后一步 运行及检查有没有问题总结 前言 本章学习的是在idea中配置tomcat服务器&#xff0c;然后部署一个项目 如果没有下载Tomcat服务器的可以在上一个博客观看下载及手动部署&#xff0c;…

pytorch之诗词生成3--utils

先上代码&#xff1a; import numpy as np import settingsdef generate_random_poetry(tokenizer, model, s):"""随机生成一首诗:param tokenizer: 分词器:param model: 用于生成古诗的模型:param s: 用于生成古诗的起始字符串&#xff0c;默认为空串:return: …

Kubernetes operator(十) kubebuilder 实战演练 之 开发多版本CronJob【更新中】

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 Kubernetes operator学习 系列第十篇&#xff0c;本节会在前篇开发的Cronjob基础上&#xff0c;进行 多版本Operator 开发的实战 本文的所有代码&#xff0c;都存储于github代码库&#xff1a;https://github.c…