首页 > 编程语言 >算法

算法

时间:2024-06-10 19:33:10浏览次数:12  
标签:int lim sum -- 算法 物品 dp

背包问题

#include <cstdio>
#include <cstring>
 
using namespace std;
 
int T, n, sum, w[205], lim; // w[i]: 物品 i 的价值
bool dp[20005];
 
int main() {
  while (1 == scanf("%d", &T)) {
    while (T-->0) {
      sum = 0;
      scanf("%d", &n); // 输入物品总数
      for (int i = 0; i < n; ++i) {
        scanf("%d", w + i); // 逐个输入物品价值 from i = 0 ... 1
        sum += w[i];
      }
      lim = sum >> 1; // 取总和的一半为背包容量上限
      memset(dp, false, sizeof(dp));
      dp[0] = true;
      for (int i = 0; i < n; ++i) {
        for (int j = lim; j >= w[i]; --j) {
          if (dp[j - w[i]])
            dp[j] = true;
        }
      }
      for (int i = lim; i >= 0; --i) {
        if (dp[i]) { // 找到最大的可达到的 sum
          printf("%d\n", sum - i - i);
          break;
        }
      }
    }
  }
}

从物品 0 到 n(选中物品 i )

标签:int,lim,sum,--,算法,物品,dp
From: https://www.cnblogs.com/Undefined443/p/18240940

相关文章

  • 算法 | 剪枝函数以及几种形式&回溯法和分支限界法的区别&算法特性&分支限界法的思想&
    whatis剪枝函数?是对该问题能否得到最优解或者可行解的约束限界函数:最优解约束函数:可行解回溯法和分支限界法的区别:异:回溯法分支限界法一次生成/扩展一个结点一次生成所有的孩子结点BFSDFS/最小耗费优先找到所有解找到最优解同:均需要定义解空间,解空间的组织结构一般......
  • 分布式ID:SnowFlake 雪花算法 Go实现
    分布式ID特性:趋势有序性(作为数据库主键时,顺序IO相较随机IO更友好)较UUID更短(占用更小的存储,只占64bit)其它(略)64bit构成:时间偏移(42bit) |数据中心ID(5bit)|节点ID(5bit)|序号(12bit)可按需自定义调整某部分的bit长度,比如把节点ID改为3bit 时间偏移:当前时间-初......
  • 「笔记」递归算法复杂度分析
    目录写在前面递归算法形式递归树大力求和主定理MasterTheorem典题1234写在最后写在前面可恶的算法分析与设计!!!递归算法形式对于一个输入规模为\(n\)的递归算法,每次均为将整个问题划分为\(a\)个规模为\(\frac{n}{b}\)的子问题,回溯时将所有子问题合并需要\(f(n)\)的时......
  • 社交网络算法改进的深度极限学习机DELM的分类
    社交网络算法改进的深度极限学习机DELM的分类文章目录社交网络算法改进的深度极限学习机DELM的分类1.ELM原理2.深度极限学习机(DELM)原理3.社交网络算法4.社交网络算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理ELM基础原理请参考:https://blog.csdn.net/u01......
  • 骑手优化算法改进的深度极限学习机DELM的分类
    骑手优化算法改进的深度极限学习机DELM的分类文章目录骑手优化算法改进的深度极限学习机DELM的分类1.ELM原理2.深度极限学习机(DELM)原理3.骑手优化算法4.骑手优化算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理ELM基础原理请参考:https://blog.csdn.net/u01......
  • 野马算法改进的深度极限学习机DELM的分类
    野马算法改进的深度极限学习机DELM的分类文章目录野马算法改进的深度极限学习机DELM的分类1.ELM原理2.深度极限学习机(DELM)原理3.野马算法4.野马算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理ELM基础原理请参考:https://blog.csdn.net/u011835903/article/......
  • 卷尾猴算法改进的深度极限学习机DELM的分类
    卷尾猴算法改进的深度极限学习机DELM的分类文章目录卷尾猴算法改进的深度极限学习机DELM的分类1.ELM原理2.深度极限学习机(DELM)原理3.卷尾猴算法4.卷尾猴算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理ELM基础原理请参考:https://blog.csdn.net/u011835903/......
  • 嵌入式浅谈之“梯形”加减速MCU算法实现
    书接上回,上章我们讲到原理,本章我们来聊聊实现。在笔者的实际项目经历中,梯形加减速运用的比较广泛,主要以其优秀的加减速能力、对算法实现资源的需求较小、实现难度适中而被广泛应用。下面就简单介绍一下基于MCU的算法实现过程,以STM32为例。采用“梯形”加减速算法,在运动过......
  • 初始C语言——结构化算法的结构
    C语言程序是一种程序化程序,也就是说,可以用C语言程序来解决的问题,都可以分解成相互独立的几个部分,每个部分都可以通过简单的语句或结构来实现。一般而言,对于结构化的程序,一个完整的算法可以用“顺序结构”,“分支结构”和“循环结构”的有机组合来表示。(一)----------顺序结构......
  • 算法金 | AI 基石,无处不在的朴素贝叶斯算法
    大侠幸会,在下全网同名「算法金」0基础转AI上岸,多个算法赛Top「日更万日,让更多人享受智能乐趣」历史上,许多杰出人才在他们有生之年默默无闻,却在逝世后被人们广泛追忆和崇拜。18世纪的数学家托马斯·贝叶斯(ThomasBayes)便是这样一位人物贝叶斯的研究,初看似平凡,其人亦......