题解 | #分割等和子集#

分割等和子集

https://www.nowcoder.com/practice/65ade309fa4d4067a9add749721bfdc0

#include <bits/stdc++.h>
using namespace std;
int main() {
    int n;
    scanf("%d", &n);
    int total = 0;
    vector<int> a(n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
        total += a[i];
    }
    if (total % 2 != 0) {
        puts("false");
        return 0;
    }
    int mx = (1 << 31) - 2;
    total /= 2;
    vector<int> dp(total, mx);
    dp[0] = 0;
    for (int i = 0; i < n; i++) {
        for (int j = total; j >= a[i]; j--) {
            dp[j] = min(dp[j - a[i]] + 1, dp[j]);
        }
    }
    if (dp[total] == mx) {
        puts("false");
    } else puts("true");
    return 0;
}

算法常用解题技巧 文章被收录于专栏

算法常用解题技巧

全部评论

相关推荐

争当牛马还争不上
码农索隆:1.把简历改哈 2.猛投,狠投 3.把基础打牢 这样你在有机会的时候,才能抓住
点赞 评论 收藏
分享
门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务