由于只有最多16种组合情况,所以就直接暴力枚举求解。这里题目有个要求就是按照字典序相对较小的输出规则输出,那么我们可以想到在兴趣数相同的情况下要不要去更新最优值,这就牵涉到我们刚开始的时候求解出来的解是否一定是字典序最小的,或则最后求解出来的解就是字典序最小的,我是采用压缩后的二进制数的最高位代表最小的兴趣,所以从最高位通过自减操作能够保证每次得到的该兴趣数的第一个解都是字典序最小的。

#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;int N, M, req[25], rec[20][25], cpy[25];bool judge(int sta, int &many)
{many = 0;memset(cpy, 0, sizeof (cpy));for (int i = 0; i < M; ++i) {if ((1 << i) & sta) {  // x 状态选取了这个物品++many;for (int j = 1; j <= N; ++j) {cpy[j] += rec[M-i][j];}}}for (int i = 1; i <= N; ++i) {if (cpy[i] < req[i]) {return false;}}return true;
} int main()
{int LIM, Max, many, ret;while (scanf("%d", &N) == 1) {Max = ret = 0;for (int i = 1; i <= N; ++i) {scanf("%d", &req[i]);}scanf("%d", &M);for (int i = 1; i <= M; ++i) {for (int j = 1; j <= N; ++j) {scanf("%d", &rec[i][j]);}}LIM = 1 << M;  // M个物品,M中属性for (int i = LIM-1; i >= 0; --i) {if (judge(i, many) && many > Max) {Max = many;ret = i;}}printf("%d", Max);for (int i = M-1; i >= 0; --i) {if ((1 << i) & ret) {printf(" %d", M-i);}}puts("");}return 0;
}

转载于:https://www.cnblogs.com/Lyush/archive/2012/08/01/2617685.html

HDU-ZZY的爱好相关推荐

  1. HDU - 2204 Eddy‘s爱好(尚未完全解决)

    HDU - 2204 Eddy's爱好 题意: 给你一个正整数N,确定在1到N之间有多少个可以表示成M^K(K>1)的数 题解: 参考题解: 我们先举例找找规律 1~10以内2的次方有多少个?有 ...

  2. hdu 2204 Eddy's爱好

    求$[1,n]$种有多少正整数可以表示为$p^q$的形式,其中$p,q$为正整数,且$q \ge 2$ $1 \le n \le 10^{18}$ 1. 若$p^q \le n$,则$\forall ...

  3. HDU 2204 Eddy's爱好(容斥原理)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2204 解题报告:输入一个n让你求出[1,n]范围内有多少个数可以表示成形如m^k的样子. 不详细说了, ...

  4. Eddy's爱好 HDU - 2204

    从1到n中,平方数的个数为n^(1/2),立方数的个数为n^(1/3),那么六次方的个数为n^(1/6),因为我们在算平方和立方的时候把六次方算过了,那么就要见去一次.接下来就是一个简单的容斥原理了, ...

  5. HDU——1106排序(istringstream的使用、STLvector练习)

    排序 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  6. hdu 5438 Ponds 拓扑排序

    Ponds Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/contests/contest_showproblem ...

  7. HDU 1248 寒冰王座(全然背包:入门题)

    HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...

  8. hdu 1312 Red and Black 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 第二条深搜,题目并不难,但是做了我好久好久,由于一个细节,让我赌上了一个晚上的时间. 题目大意: ...

  9. HDU 1429 胜利大逃亡(续) (BFS+位压缩)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429 胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others)  ...

  10. hdu 1272 小希的迷宫

    Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该 ...

最新文章

  1. 图像处理-PCA人脸识别
  2. IPv6的脚步声近了!
  3. 成功的前提,35岁前必须做好的十件事
  4. mysql目录树_无限级目录树+记忆节点状态(PHP+mysql)
  5. java反射数组_java反射Array的使用
  6. 为吸引三星建170亿美元芯片厂,德克萨斯州将提供大额财产税减免
  7. es过滤指定数据 java_elasticsearch 结构化搜索_在案例中实战基于range filter来进行范围过滤...
  8. Oracle 冷备份详解【实战案例】
  9. 计算机基本知识(8000)---boot系统引导文件
  10. stm32用tft-lcd 显示自定义大小的字体
  11. 设计模式解密(2)- 工厂模式(简单工厂、工厂方法、抽象工厂)
  12. 谷歌浏览器设置暗黑模式
  13. 我的第一个大创项目——智能药箱(1)前期准备
  14. iPhone十年,移动用户体验领域已经到达成熟阶段
  15. PNG转YUV(自造轮子版)
  16. 搞科研和赚大钱,可以兼得吗?
  17. 2012年9月世界编程语言排行榜!
  18. 计算机软考网络管理员资料,计算机软考网络管理员常用网络命令详解(完整版)...
  19. ARM处理器工作状态和模式
  20. 广州住房公积金管理中心综合业务管理系统容灾项目中标公告

热门文章

  1. 【论文翻译】卷积神经网络图像风格转移 Image StyleTransfer Using Convolutional Neural Networks
  2. caffe 官方例程之R-CNN(物体检测)
  3. 【DBN】Deep Belief Network简介
  4. caffe命令行解析
  5. 推荐系统开源软件汇总和评点
  6. python-random
  7. tbb::parallel_for 实例
  8. mac vscode zsh git中文乱码解决方案
  9. 资源调度_提前计划+实时调度,实现月台资源高效利用
  10. 基于springboot+vue的智慧教室预约系统(前后端分离)