BZOJ 4004: [JLOI2015]装备购买
2016-06-17 19:54
399 查看
MD这题有毒
拟阵+线性基什么的按照14年论文的方法易证一下然后高斯消元搞一搞就W
A了(垃圾数据坑精度)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<queue>
#include<cmath>
using namespace std;
#define rep(i,l,r) for(int i=l;i<=r;i++)
#define per(i,r,l) for(int i=r;i>=l;i--)
#define mmt(a,v) memset(a,v,sizeof(a))
#define tra(i,u) for(int i=head[u];i;i=e[i].next)
const int N=500+5;
const double eps=1e-5;
typedef long long ll;
#define double long double
int dcmp(double x){
if(fabs(x)<eps)return 0;
return x<0?-1:1;
}
int n,m;
struct equ{
double a
;
int c;
bool operator < (const equ &x)const{return c<x.c;}
}a
;
int p
;
int main(){
//freopen("a.in","r",stdin);
scanf("%d%d",&n,&m);
rep(i,1,n)rep(j,1,m)scanf("%Lf",&a[i].a[j]);
rep(i,1,n)scanf("%d",&a[i].c);
sort(a+1,a+1+n);
int sum=0,cost=0;
rep(i,1,n)rep(j,1,m)if(dcmp(a[i].a[j]))
if(p[j]){
double tmp=a[i].a[j]/a[p[j]].a[j];
rep(k,j,m)a[i].a[k]-=tmp*a[p[j]].a[k];
}else{
p[j]=i;
sum++;cost+=a[i].c;
break;
}
printf("%d %d\n",sum,cost);
return 0;
}
拟阵+线性基什么的按照14年论文的方法易证一下然后高斯消元搞一搞就W
A了(垃圾数据坑精度)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<queue>
#include<cmath>
using namespace std;
#define rep(i,l,r) for(int i=l;i<=r;i++)
#define per(i,r,l) for(int i=r;i>=l;i--)
#define mmt(a,v) memset(a,v,sizeof(a))
#define tra(i,u) for(int i=head[u];i;i=e[i].next)
const int N=500+5;
const double eps=1e-5;
typedef long long ll;
#define double long double
int dcmp(double x){
if(fabs(x)<eps)return 0;
return x<0?-1:1;
}
int n,m;
struct equ{
double a
;
int c;
bool operator < (const equ &x)const{return c<x.c;}
}a
;
int p
;
int main(){
//freopen("a.in","r",stdin);
scanf("%d%d",&n,&m);
rep(i,1,n)rep(j,1,m)scanf("%Lf",&a[i].a[j]);
rep(i,1,n)scanf("%d",&a[i].c);
sort(a+1,a+1+n);
int sum=0,cost=0;
rep(i,1,n)rep(j,1,m)if(dcmp(a[i].a[j]))
if(p[j]){
double tmp=a[i].a[j]/a[p[j]].a[j];
rep(k,j,m)a[i].a[k]-=tmp*a[p[j]].a[k];
}else{
p[j]=i;
sum++;cost+=a[i].c;
break;
}
printf("%d %d\n",sum,cost);
return 0;
}
相关文章推荐
- JS文件中加载jquery.js
- XML与DTD
- Spark 的 Shell操作,核心概念,构建独立应用
- its raw version as part of a circular reference,but not use the final version of the bean
- ESN(Echo State Network) Source Code
- 组件设计原则之概念篇(四)
- python 多文件列相加
- html5学习站点推荐
- 2016.6.17——Valid Parentheses
- ORA-12560: TNS: 协议适配器错误
- django后台启动+log重定向命令
- 常用KeyCode
- debug找不到源码问题 edit lookup path
- 如何配置一个简易的密码弹出框Dialog
- linux常用操作
- 欢迎使用CSDN-markdown编辑器
- 抽象类(接口类)的作用
- 基于Bootstrap和Knockout.js的ASP.NET MVC开发实战
- python之删除30天以前的文件
- 作业补做