脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量z[i]=(ai,1,ai,2,…,ai,m) 表示,每个装备需要花费 ci

现在脸哥想买一些装备,但是脸哥很穷,所以总是盘算着怎样才能花尽量少的钱买尽量多的装备。

对于脸哥来说,如果一件装备的属性能用购买的其他装备组合出(也就是说脸哥可以利用手上的这些装备组合出这件装备的效果),那么这件装备就没有买的必要了。

严格的定义是,如果脸哥买了 z[i1],z[i2],…,z[ip]
这 p 件装备,并且不存在实数 b1,b2,…,bp 使得z[k]=b1z[i1]+b2z[i2]+…+bpz[ip],那么脸哥就会买z[k],否则 z[k]

对脸哥就是无用的了,自然不必购买。

脸哥想要在买下最多数量的装备的情况下花最少的钱,你能帮他算一下吗?
输入格式

第一行包含两个整数 n和m。

接下来 n 行,每行 m 个数,其中第 i 行描述装备 i 的各项属性值。

接下来一行 n 个数,其中第i个数表示购买第 i 件装备的花费ci


输出格式

输出占一行,包含两个整数,第一个整数表示能够购买的最多装备数量,第二个整数表示在购买最多数量的装备的情况下的最小花费。
数据范围

1≤n,m≤500
,
0≤ai,j≤1000

输入样例:

3 3
1 2 3
3 4 5
2 3 4
1 1 2

输出样例:

2 2

分析:
参考博客: https://www.cnblogs.com/RogerDTZ/p/9215566.html
此题,基本思路就是为高斯消元的基本思路。
z[k]=b1z[i1]+b2z[i2]+…+bpz[ip]这就是线性相关的线性表示。
故,一件装备如果不需要买,那么这件装备势必可以用其他装备进行线性表出。
所以,就是求一个向量的最大无关组。
这样可以得到最少要买多少个装备。那么,至少花费多少钱就需要用到一个简单的贪心。

这个题恶心的地方就是在于卡精度。需要long double。每次除法都都卡精度。恶心

#include"stdio.h"
#include"string.h"
#include"math.h"
#include"algorithm"
using namespace std;
#define eps (long double)1e-8
#define Bug printf("bug\n");
typedef struct Node
{long double weight[510];int price;
}Node;Node node[510];
int n,m;
long double a[510][510];int cmp(Node a,Node b)
{return a.price < b.price;
}int main()
{scanf("%d%d",&n,&m);for(int i = 1; i <= n; i ++)for(int j = 1; j <= m; j ++)scanf("%llf",&node[i].weight[j]);for(int i = 1; i <= n; i ++)scanf("%d",&node[i].price);sort(node + 1,node + 1 + n,cmp);int ans = 0; int price = 0;for(int i = 1; i <= n; i ++){for(int j = 1; j <= m; j ++){if(fabs(node[i].weight[j]) >= eps){if(fabs(a[j][j]) < eps){for(int k = j; k <= m; k ++)a[j][k] = node[i].weight[k];ans ++; price += node[i].price;}for(int k = m; k >= j; k --){node[i].weight[k] -= a[j][k] * (node[i].weight[j]/a[j][j]);}}}}printf("%d %d\n",ans,price);
}

装备购买(BZOJ4004)高斯消元+ 贪心相关推荐

  1. bzoj3143,P3232-[Hnoi2013]游走【数学期望,高斯消元,贪心】

    正题 题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3143 https://www.luogu.org/problem/P3232 题 ...

  2. 【bzoj2460】[BeiJing2011]元素 贪心+高斯消元求线性基

    题目描述 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石. 一般地,矿石越多则法力越强,但物极必反 ...

  3. HDU 4864 Task(贪心或高斯消元)

    题意:n台机器工作时间为ai,等级bi,m个任务需要时间ai,等级bi,一台机器只能完成一个任务,完成一个任务收益为500*ai+2*bi,求最大收益:(n,m>100000) 思路:先从大到小 ...

  4. 解线性方程组——高斯消元の板子

    ATP记得它在很久以前看过一点点高斯消元的东西然后做过一点点题目..但是当时实在是太zz了所以本来就没有很懂这个东西现在更是忘得差不多了.. 所以现在就当重新学一遍了QwQ 一点口胡的解释 高斯消元. ...

  5. 高斯消元简单线性代数线性基学习记录

    线性代数,唉 高斯消元 P4035 [JSOI2008]球形空间产生器 题目描述 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标 ...

  6. [BZOJ 3143][Hnoi2013]游走(高斯消元+期望)

    Description 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点, ...

  7. hihoCoder #1195 : 高斯消元·一

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho:喂不得了啦,那边便利店的薯片半价了! 小Hi:啥?! 小Ho:那边的便利店在打折促销啊. 小Hi:走走走,赶紧去看 ...

  8. 【BZOJ2115】[Wc2011] Xor 高斯消元求线性基+DFS

    [BZOJ2115][Wc2011] Xor Description Input 第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目. 接下来M 行描述 M 条边,每行三个整数Si,Ti ...

  9. BZOJ 2115 Wc2011 Xor DFS+高斯消元

    标题效果:鉴于无向图.右侧的每个边缘,求一个1至n路径,右上路径值XOR和最大 首先,一个XOR并能为一个路径1至n简单的路径和一些简单的XOR和环 我们开始DFS获得随机的1至n简单的路径和绘图环所 ...

  10. 线性代数五之高斯消元——[SDOI2010]外星千足虫,[HNOI2013]游走,[HNOI2011]XOR和路径,[hdu 4035]Maze

    多类型高斯消元杂题 [SDOI2010]外星千足虫 description solution code [HNOI2013]游走 description solution code [HNOI2011 ...

最新文章

  1. 6月份不良与垃圾信息举报:垃圾邮件占40.4%
  2. mysql 8.3_8.3 - mysql 表操作
  3. python试卷(有答案版本、个人答案不是官方答案)_python试卷(有答案版本,个人答案不是官方答案).doc...
  4. php数组根据指定列排序
  5. 大数据学习(4)--分布式数据库HBase
  6. 《SpringCloud超级入门》使用Eureka编写注册中心服务《九》
  7. 位运算的简单应用,计算无符号的数中二进制位中值为 1 的个数
  8. 利用第三方库XML解析 (TBXML)转化成模型数据
  9. 我与潘家园金爷的对话
  10. IOS学习笔记-UINavgationController
  11. nc交换平台翻译器翻译仓库问题以及解决方法
  12. 计算机及信息系统管理规范,系统运维管理 计算机信息系统运营和维护管理规范方案.doc...
  13. 论手机网站(wap)网页广告防屏蔽的方法
  14. android 虚拟按键源码流程分析
  15. Python中文社区开源项目计划:ImagePy
  16. 手机性能指标详细测试步骤【Android/IOS】
  17. 一日一次 算法 (一) 插入排序
  18. mysql数据库自动生成数据库开发设计文档
  19. 运维工作简历(运维人员简历模板)
  20. http://coolshell.cn/

热门文章

  1. 用树莓派实现宽带多次拨号,带宽叠加
  2. 钢琴的音色特点用matlab描述6,关于用MATLAB 实现简易钢琴 App的教程分享
  3. 杀死一只知更鸟 影评
  4. python图片自动上色_自己实现黑白图片自动上色AI(一)
  5. UWA DAY 2021 精彩盘点 | 35场技术议题掀起的思维浪潮
  6. ad中使用智能粘贴_ADAS/AD专题1万字讲透量产智能驾驶系统方案
  7. 网页去广告服务器,使用 AdGuardHome,实现网页加速和去广告
  8. curl DNS解析失败crash问题
  9. 读《周一清晨的领导课》有感
  10. js Date 获取 年 月 日