首页 > 01背包前置题
头像 Xiettt
发表于 2026-04-30 10:58:29
#include<bits/stdc++.h> using namespace std; using ui=unsigned int; using ll=long long; using ull=unsigned long long; using i128=__int128_t; us 展开全文
头像 小男娘
发表于 2025-11-28 00:04:28
使用 bitset 优化背包判断,时间复杂度 #include <bitset> #include <iostream> using namespace std; int n; int k; bitset<1001> have = 1; void Solve( 展开全文
头像 lao_xiao
发表于 2026-02-25 15:27:29
#include <iostream> using namespace std; const int N = 1e3 + 10; int a[N]; int f[N][N]; int main() { int n,k; cin>>n>>k; 展开全文
头像 lao_xiao
发表于 2026-02-25 15:29:43
#include <iostream> using namespace std; const int N = 1e3 + 10; int a[N]; int f[N]; int main() { int n,k; cin>>n>>k; 展开全文
头像 小狐今天睡大觉
发表于 2026-01-05 05:45:43
使用01背包dp思路解决。目的是找出是否能有一个结果总价值为k,暴力枚举复杂度太大。不妨将问题转变为 总价值为k是否可以被凑出来?建立一个dp数组,范围0到k+1,初始化false,dp[i]表示价值i是否可以被凑出来。dp[0] 置 true,当我们什么物品都不选,价值为0。从前向后遍历:j是目标 展开全文

等你来战

查看全部