思路:

排个序 消元 完事~

但是!

坑爹精度毁我人生

我hhhh他一脸

红红火火恍恍惚惚

  1. //By SiriusRen
  2. #include <cmath>
  3. #include <cstdio>
  4. #include <algorithm>
  5. using namespace std;
  6. #define double long double
  7. const int N=505;const double eps=1e-8;
  8. int n,m,vis[N],ans2;double ans;
  9. struct Node{double cost,eli[N];}node[N];
  10. bool cmp(Node a,Node b){return a.cost<b.cost;}
  11. int main(){
  12. scanf("%d%d",&n,&m);
  13. for(int i=1;i<=n;i++)
  14. for(int j=1;j<=m;j++)
  15. scanf("%Lf",&node[i].eli[j]);
  16. for(int i=1;i<=n;i++)scanf("%Lf",&node[i].cost);
  17. sort(node+1,node+1+n,cmp);
  18. for(int i=1;i<=n;i++)
  19. for(int j=1;j<=m;j++)
  20. if(abs(node[i].eli[j])>eps){
  21. if(!vis[j]){vis[j]=i,ans+=node[i].cost,ans2++;break;}
  22. else{
  23. double temp=node[i].eli[j]/node[vis[j]].eli[j];
  24. for(int k=j;k<=m;k++)
  25. node[i].eli[k]-=temp*node[vis[j]].eli[k];
  26. }
  27. }
  28. printf("%d %d\n",ans2,(int)ans);
  29. }

BZOJ 4004 高斯消元的更多相关文章

  1. BZOJ 1013 & 高斯消元

    题意: 告诉你一个K维球体球面上的K+1个点问球心坐标. sol: 乍一看还以为是K维的二分答案然后判断距离...真是傻逼了...你看乱七八糟的题目做多了然后就会忘记最有用的基本计算... 我们可以看 ...

  2. BZOJ 3143 高斯消元+贪心....

    思路: 先算一下每条边经过次数的期望 转化为每个点经过次数的期望 边的期望=端点的期望/度数 统计一下度数 然后高斯消元 贪心附边权--. //By SiriusRen #include <cm ...

  3. BZOJ 3503 高斯消元

    思路: 高斯消元就好啦 注意每个格子最多只能和4个相邻 所以是 n*m*n*m*5 的 并不会TLE //By SiriusRen #include <cstdio> #include & ...

  4. bzoj 2337 高斯消元+概率DP

    题目大意: 每条路径上有一个距离值,从1走到N可以得到一个所有经过路径的异或和,求这个异或和的数学期望 这道题直接去求数学期望的DP会导致很难列出多元方程组 我们可以考虑每一个二进制位从1走到N的平均 ...

  5. BZOJ 2844 高斯消元 线性基

    思路: //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm> using ...

  6. BZOJ 4269 高斯消元求线性基

    思路: 最大: 所有线性基异或一下 次大: 最大的异或一下最小的线性基 搞定~ //By SiriusRen #include <cstdio> #include <algorith ...

  7. bzoj 2844: albus就是要第一个出场 高斯消元

    LINK 题意:看题目不如看样例解释.给出有n个数的集合,对这些子集中的数求异或,升序统计所有子集得到的数(重复会被计入),询问一个数x,问这个数出现的第一个位置 思路:在这里要求一个所有可能出现的异 ...

  8. BZOJ 4004 JLOI2015 装备购买 高斯消元+线性基

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4004 Description 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装 ...

  9. BZOJ 3270 && BZOJ 1778 (期望DP && 高斯消元)

    BZOJ 3270 :设置状态为Id(x,y)表示一人在x,一人在y这个状态的概率. 所以总共有n^2种状态. p[i]表示留在该点的概率,Out[i]=(1-p[i])/Degree[i]表示离开该 ...

随机推荐

  1. WPF 解决拼接屏全屏的问题

    需求: 8块1920*1080屏幕拼接 橙色4个框每个框(1920*1080)拼接成一个1920*1080 红色4个框每个框(1920*1080)拼接成一个1920*1080 橙色和红色作为displ ...

  2. RabbitMQ学习之集群消息可靠性测试

    之前介绍过关于消息发送和接收的可靠性:RabbitMQ学习之消息可靠性及特性 下面主要介绍一下集群环境下,rabbitmq实例宕机的情况下,消息的可靠性.验证rabbitmq版本[3.4.1]. 集群 ...

  3. CSS text-transform 属性 控制控制文本的大小写

    值 描述 none 默认.定义带有小写字母和大写字母的标准的文本. capitalize 文本中的每个单词以大写字母开头. uppercase 定义仅有大写字母. lowercase 定义无大写字母, ...

  4. CorelDRAW购物节福利开奖 | “剁手节”前的攻略来了,请查收!

    距离“剁手节” 还有不到两周的时间 相信一些线上.线下.微商.电商...都拿出了看家本领进行市场混战 一场没有硝烟的战争开始啦!! …… 当然,我也不例外 你们谁都别拦着,我要打广告了 让你变成了不折 ...

  5. Js中判断变量存不存在的问题

    前面写过jquery对象存在与否的判断.现在谈下Js中判断变量存不存在的问题. 如果这样if(!a),当变量a在js中没有申明时,就会报错,那么接下去的代码将不会被执行.注意,这种判断只要变量申明过, ...

  6. day06-08面向对象的三大特性

    一.继承 1.1什么是继承?继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类python中类的继承分为:单继承和多继承 cl ...

  7. JS 封装一个对数组去重的函数

    var zz = [1,2,3,5,5,7,8,6,6]; var se = []; d(se); function d(attr){ for(var i = 1;i<zz.length;i++ ...

  8. 用shell编写一个三角形图案

    第一种方法 #!/bin/bash read -p "请输入层数: " n for (( i=1; i<=$n;i++ ))do   for (( j=n; j>=i; ...

  9. vue的计算属性get和set

    1.计算属性是用来存储数据,但具有以下几个特点: a.数据可以进行逻辑处理操作. b.对计算属性中的数据进行监视. 2.计算属性和普通属性的区别: a.计算属性是基于它的依赖进行更新的,只有在相关依赖 ...

  10. 基于BootStrap,FortAweSome,Ajax的学生管理系统

    一. 基于BootStrap,FortAweSome,Ajax的学生管理系统代码部分 1.students.html <1>html页面文件 <!DOCTYPE html> & ...