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

}

相关推荐
Swift社区7 分钟前
LeetCode 378 - 有序矩阵中第 K 小的元素
算法·leetcode·矩阵
墨染点香10 分钟前
LeetCode 刷题【73. 矩阵置零】
算法·leetcode·矩阵
tqs_1234517 分钟前
redis zset score的计算
java·算法
_Coin_-21 分钟前
算法训练营DAY60 第十一章:图论part11
算法·图论
林木辛25 分钟前
LeetCode热题 438.找到字符中所有字母异位词 (滑动窗口)
算法·leetcode
和鲸社区28 分钟前
四大经典案例,入门AI算法应用,含分类、回归与特征工程|2025人工智能实训季初阶赛
人工智能·python·深度学习·算法·机器学习·分类·回归
零点零一39 分钟前
`vcpkg` 微软开源的 C/C++ 包管理工具的使用和安装使用spdlog
c语言·c++·microsoft
wangwangblog1 小时前
LLVM 数据结构简介
开发语言·数据结构·c++
John_ToDebug1 小时前
浏览器稳定性提升之路:线上崩溃率优化中的 Return 与 CHECK 之争
c++·chrome