关注
const int MAX=500;
bool dp[MAX+1][MAX+1];
void beibao(int weight){
for(int i=MAX;i>=0;--i){
for(int j=MAX;j>=0;--j){
if(i>=weight&&dp[i-weight][j]){
dp[i][j]=true;
}
if(j>=weight&&dp[i][j-weight]){
dp[i][j]=true;
} }
}
}
int getNum(int* a,int n){
memset(dp,false,sizeof(dp));
dp[0][0]=true;
for(int i=0;i<n;++i) beibao(a[i]);
for(int i=MAX;i>=0;--i) if(dp[i][i]) return i;
} 早上想了一下,感觉可以用二重背包来写,要注意状态转移要从更大的状态开始操作,细节可参考上述代码。 复杂度为O(n*m^2) n最大为50,m最大为500。
查看原帖
点赞 6
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你觉得实习能学到东西吗 #
23139次浏览 533人参与
# 不考虑转正,实习多久合适 #
30314次浏览 137人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
23450次浏览 193人参与
# 秋招什么时候开投比较合适? #
11783次浏览 222人参与
# 如何准备秋招 #
14237次浏览 270人参与
# 实习,不懂就问 #
34513次浏览 572人参与
# 发工资后,你做的第一件事是什么 #
66714次浏览 221人参与
# 软开人,秋招你打算投哪些公司呢 #
101546次浏览 956人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
28402次浏览 458人参与
# 运营人求职交流聚集地 #
141473次浏览 989人参与
# 大疆今年的机械笔试难吗? #
41766次浏览 456人参与
# 每个月的工资都是怎么分配的? #
18296次浏览 367人参与
# 你觉得现在还能进互联网吗? #
5650次浏览 116人参与
# 预测一下26届秋招形势 #
29835次浏览 270人参与
# 你们公司几号发工资 #
19370次浏览 130人参与
# 25届如何提前做秋招准备? #
171958次浏览 2482人参与
# 硬件应届生薪资是否普遍偏低? #
72885次浏览 511人参与
# 晒一晒你收到的礼盒 #
70469次浏览 403人参与
# 米哈游工作体验 #
17994次浏览 117人参与
# 打工人的精神状态 #
54938次浏览 997人参与
# 高考出分的那一天,我__ #
18692次浏览 277人参与