当前位置: 首页 > news >正文

上海弘韬建设发展有限公司网站网站生成app工具

上海弘韬建设发展有限公司网站,网站生成app工具,it外包公司为什么不能去,怎么自己做公司网站注意事项: 本题是"动态规划—01背包"的扩展题,优化思路不多赘述,dp思路会稍有不同,下面详细讲解。 题目: 给定 N个正整数 A1,A2,…,AN,从中选出若干个数,使它们的和为 M,…

注意事项:
本题是"动态规划—01背包"的扩展题,优化思路不多赘述,dp思路会稍有不同,下面详细讲解。

题目:
给定 N个正整数 A1,A2,…,AN,从中选出若干个数,使它们的和为 M,求有多少种选择方案。

输入格式
第一行包含两个整数 N和 M。
第二行包含 N个整数,表示 A1,A2,…,AN。

输出格式
包含一个整数,表示可选方案数。

数据范围
1≤N≤100,
1≤M≤10000,
1≤Ai≤1000,
答案保证在 int 范围内。

输入:
4 4
1 1 2 2
输出:
3
#include <cmath>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;const int N = 10010;
int n, m;
int v[N], f[N], s[N][N];//基础版二维
void base() {s[0][0] = 1;for (int i = 1; i<=n; i++) {for (int j = 0; j<=m; j++) {s[i][j] += s[i-1][j];if (j >= v[i]) s[i][j] += s[i-1][j-v[i]];}}cout << s[n][m];
}//01背包优化,一维滚动数组
void op() {f[0] = 1;for (int i = 1; i<=n; i++) {for (int j = m; j>=0; j--) {f[j] += f[j-v[i]];}}cout << f[m];
}int main() {cin >> n >> m;for (int i = 1; i<=n; i++) cin >> v[i];// base();op();return 0;
}

思路:
经典的y式dp法

1.状态表示
f[i][j]: 表示从前i个数中选,总和刚好为j的方案,属性为Count。

2.状态计算
以 选择/不选择 第i个物品为划分,
1.当不选择第i个物品时:
f[i][j] += f[i-1][j]
2.当选择第二个物品时:
f[i][j] += f[i-1][j-v[i]]

切记我们这里f[i][j]中记录的是前i个数中总和为j的方案总数
是在计算数量,也就是+=。

还有就是初始步骤,f[0][0]为1,
因为从前0个数中选总和为0也是一种方案。

声明:
算法思路来源为y总,详细请见https://www.acwing.com/
本文仅用作学习记录和交流

http://www.dinnco.com/news/6075.html

相关文章:

  • 外贸网站建设公司方案优化网站怎么做
  • 米能花型设计师服务平台手机系统优化软件
  • 手机网站怎么做单页面磁力宅
  • 做门户网站 cms论坛推广技巧
  • 吉安网站建设jxthw推蛙网络
  • 电商网站 费用电商网站对比表格
  • asp.net做网站Dreamverseo的重要性
  • 手机网站开发最好用的框架谷歌推广网站
  • 班级网站设计毕业论文南京seo推广
  • 商城网站源码下载百度搜索广告收费标准
  • asp网站转wap网站百度推广搜索排名
  • 工商工事上哪个网站做企业网站
  • 丰城做网站宽带营销案例100例
  • 手机网站建设的目的ip软件点击百度竞价推广
  • java开发网站如何做最新疫情19个城市封城
  • 网站制作div区域是哪儿百度关键词优化的意思
  • 网站需要多少钱做推广怎么赚钱
  • 龙湾做网站yandere搜索引擎入口
  • 东阿聊城做网站的公司如何设计推广方案
  • wordperss网站做负载均衡2021百度模拟点击工具
  • 怎么能够找到免费的网址优化设计六年级上册语文答案
  • wordpress 二栏有实力的网站排名优化软件
  • 中英双文网站怎么做2023引流软件
  • 行业网站如何推广哈尔滨优化网站公司
  • 《网站推广策划》山西网络营销seo
  • python免费自学网站李勇seo博客
  • 金融网站模板素材源码网站
  • 温州网站设计只找亿企邦网站关键词快速排名技术
  • 百度提交网站已删内容郑州网站
  • 做推广送网站免费建站产品经理培训哪个机构好