旅游城市数量最大化 01背包问题

题目描述

求一个人去旅游能到达的最多的城市。

输入格式

第一行为输入的样例组数T TT。

接着为n nn,m mm(n nn为这个人旅行的总天数,m mm为计划旅行的总城市数)。

接下来一行为一个整数数组d [ i ] d[i]d[i], 每一位依次表示游览每个城市所需的天数。

输出格式

输出一个整数,表示能到达的最多的城市数量。

输入样例

1

5 3

2 1 3

1

2

3

输出样例

2

代码:

#include <iostream>

#include <vector>

#include <map>

#include <algorithm>

#include <cstring>

#include <cmath>

#define MX 100000005

using namespace std;

//背包问题

int t,n,m,d[MX];

int dp[MX];

int main() {

cin>>t;

cin>>n>>m;

for(int i = 1;i <= m;i++)

{

cin>>d[i];

}

dp[0] = 0;

for(int i = 1;i <= m;i++)

{

for(int j = n;j >= d[i];j--)

{

dp[j] = max(dp[j],dp[j-d[i]] + 1);

}

}

cout<<dp[n]<<endl;

return 0;

}

相关推荐
小徐不徐说6 分钟前
C++ 模板与 STL 基础入门:从泛型编程到实战工具集
开发语言·数据结构·c++·qt·面试
艾莉丝努力练剑7 分钟前
【C/C++】类和对象(上):(一)类和结构体,命名规范——两大规范,新的作用域——类域
java·c语言·开发语言·c++·学习·算法
TDengine (老段)37 分钟前
TDengine 中 TDgp 中添加机器学习模型
大数据·数据库·算法·机器学习·数据分析·时序数据库·tdengine
Tisfy2 小时前
LeetCode 2411.按位或最大的最小子数组长度:一次倒序遍历
数据结构·算法·leetcode·题解·位运算·遍历
2202_756749692 小时前
04 基于sklearn的机械学习-梯度下降(上)
人工智能·算法·机器学习
草莓爱芒果2 小时前
Spring Boot中使用Bouncy Castle实现SM2国密算法(与前端JS加密交互)
java·spring boot·算法
晚云与城2 小时前
【数据结构】-----排序的艺术画卷
数据结构·算法·排序算法
weixin_307779133 小时前
设计Mock CUDA库的流程与实现
c++·算法·gpu算力
郝学胜-神的一滴3 小时前
应用Builder模式在C++中进行复杂对象构建
开发语言·c++·程序人生