zoukankan      html  css  js  c++  java
  • 背包问题

    今天北京电子科技学院的一网友问我一题,我面熟,说用dp,可发现自己对dp理解不是很好,现在拿出买的《ACM程序设计培训教程》看到背包问题有那么多解法,现在学习中……
        小明假期同爸爸一起去书店,他选中了n本书,每本书的单价分别为:P1、P2、P3……Pn。不巧的是,小明的爸爸只带了M元钱,为了让小明渡过一个愉快的假期,爸爸仍然同意买书,但有一个要求,要小明从n本书中选出若干本,使得单价相加所得的和同M元最接近。你能够帮助小明解决这个问题吗? 
    要求:总钱数M、书本数n以及各本书的价格从键盘或文件输入;如果有多种组合,应全部列出。 现在还有一个要求:就是小明对每一种书都有一个兴趣度,从键盘输入,如果有相同的总价格,则考虑他们的总兴趣度,选择兴趣度大的输出。 
    Code
    用二进制位来标志买了哪本书,例如n=6,则需要2的0次方+……2的五次方,共6位,用k标示,m则为穷举的次数,一共有m种情况,用&就知道该本书在不在选择的范围之内,然后再选择最优的策略。我的代码最后interesting输出不出来,不知道怎么回事。这几天太忙,过两天再来看看。还有flag我想输出书的标号的,但是最后输出的是价格,想输出书的标号改一下就ok了。
  • 相关阅读:
    openresty开发系列12--lua介绍及常用数据类型简介
    openresty开发系列11--openresty的api入门
    SSD基本工作原理
    SSD 为什么顺序写比随机写性能更好?
    df看到的文件系统容量跟parted看到的分区容量差别较大的解决方法
    DPDK无法分出连续大页面(contiguous hugepages)的几个解决方法
    How to use, monitor, and disable transparent hugepages in Red Hat Enterprise Linux 6
    Examining Huge Pages or Transparent Huge Pages performance
    Notes of O_DIRECT flag
    leveldb
  • 原文地址:https://www.cnblogs.com/anderson0/p/1569434.html
Copyright © 2011-2022 走看看