旅游城市数量最大化 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;

}

相关推荐
你撅嘴真丑5 小时前
第九章-数字三角形
算法
在路上看风景5 小时前
19. 成员初始化列表和初始化对象
c++
uesowys5 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
zmzb01035 小时前
C++课后习题训练记录Day98
开发语言·c++
ValhallaCoder5 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
董董灿是个攻城狮5 小时前
AI 视觉连载1:像素
算法
念风零壹5 小时前
C++ 内存避坑指南:如何用移动语义和智能指针解决“深拷贝”与“内存泄漏”
c++
智驱力人工智能5 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
孞㐑¥6 小时前
算法——BFS
开发语言·c++·经验分享·笔记·算法
月挽清风6 小时前
代码随想录第十五天
数据结构·算法·leetcode