[BZOJ4004][JLOI2015]装备购买(贪心+线性基)
求最小权极大线性无关组。
先将所有向量按权值排序,从小到大依次判断,若能被前面已选向量线性表出则不选,这样一定最优。
据说是用拟阵来证明,但感性理解一下感觉比较显然,首先这样个数一定是最多的,其次对于一个线性相关组,没有被选上的一定是最大的那个向量,于是解一定最优。
#include<cmath>
#include<cstdio>
#include<algorithm>
#define rep(i,l,r) for (int i=(l); i<=(r); i++)
typedef long double ld;
using namespace std; const int N=;
const ld eps=1e-;
int n,m,ans1,ans2;
ld p[N][N]; struct P{ ld p[N]; int v; }a[N];
bool operator <(const P &a,const P &b){ return a.v<b.v; } int main(){
freopen("bzoj4004.in","r",stdin);
freopen("bzoj4004.out","w",stdout);
scanf("%d%d",&n,&m);
rep(i,,n) rep(j,,m) scanf("%Lf",&a[i].p[j]);
rep(i,,n) scanf("%d",&a[i].v);
sort(a+,a+n+);
rep(k,,n) rep(i,,m){
if (fabs(a[k].p[i])<eps) continue;
if (fabs(p[i][i])<eps){
rep(j,i,n) p[i][j]=a[k].p[j];
ans1++; ans2+=a[k].v; break;
}
for (int j=m; j>=i; j--) a[k].p[j]-=p[i][j]*a[k].p[i]/p[i][i];
}
printf("%d %d\n",ans1,ans2);
return ;
}
[BZOJ4004][JLOI2015]装备购买(贪心+线性基)的更多相关文章
- BZOJ4004 [JLOI2015]装备购买[贪心+线性基+高消]
一个物品可以被其他物品表出,说明另外的每个物品看成矩阵的一个行向量可以表出该物品代表的行向量. 于是构造矩阵,求最多选多少个物品,就是尽可能用已有的物品去表示,相当于去消去一些没必要物品, 类似于xo ...
- 【题解】 bzoj4004: [JLOI2015]装备购买 (线性基)
bzoj4004,戳我戳我 Solution: 裸的线性基,这没啥好说的,我们说说有意思的地方(就是我老是wa的地方) Attention: 这题在\(luogu\),上貌似不卡精度,\(bzoj\) ...
- BZOJ_4004_[JLOI2015]装备购买_线性基
BZOJ_4004_[JLOI2015]装备购买_线性基 Description 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am) ...
- 【BZOJ4004】装备购买(线性基)
[BZOJ4004]装备购买(线性基) 题面 BZOJ 洛谷 Description 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am ...
- [JLOI2015]装备购买(线性基)
[JLOI2015]装备购买 题目描述 脸哥最近在玩一款神奇的游戏,这个游戏里有 nn 件装备,每件装备有 \(m\) 个属性,用向量 \(\mathbf{z_i}\)=\((a_1, \ldots ...
- bzoj 4004 [JLOI2015]装备购买 拟阵+线性基
[JLOI2015]装备购买 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 1820 Solved: 547[Submit][Status][Dis ...
- 洛谷P3265 [JLOI2015]装备购买 [线性基]
题目传送门 装备购买 格式难调,题面就不放了. 分析: 一句话,有$n$件物品,每件物品有$m$个属性和一个花费值,如果一个装备的属性值可以由其他装备的属性值改变系数后组合得到那就不买,求购买最多装备 ...
- 洛谷P3265 [JLOI2015]装备购买(线性基+高斯消元)
传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 不难看出题目讲的就是线性基 这种最小化权值的问题一般都是贪心的,就是按价值从低到高考虑每一个是否能选 据说贪心的证明得用拟阵我不会 据说这题是实数意 ...
- 【BZOJ4004】[JLOI2015]装备购买 贪心+高斯消元
[BZOJ4004][JLOI2015]装备购买 Description 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am) 表示 ( ...
随机推荐
- 【BZOJ4880】排名的战争 [暴力]
排名的战争 Time Limit: 8 Sec Memory Limit: 256 MB[Submit][Status][Discuss] Description 小Q是一名出色的质检员,他负责质检 ...
- 【NOIP】提高组2012 同余方程
[算法]扩展欧几里德算法 [题解]学完扩欧就可以随便水了... 转化为不定方程ax-by=1. 因为1且题目保证有解,所以方程有唯一解. 紫书曰:同余方程的一个解其实指的是一个同余等价类. 所以满足x ...
- python dlib 面部轮廓实时检测
1.dlib 实现动态人脸检测及面部轮廓检测 模型下载连接 : http://dlib.net/files/ # coding:utf-8 import cv2 import os import dl ...
- poj 1062 昂贵的聘礼 (dijkstra最短路)
题目链接:http://poj.org/problem?id=1062 昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submission ...
- 5.0docer 网络链接
docker0 :linux的虚拟网桥 虚拟网桥特点: 1.可以设置ip地址 2.相当于拥一个隐藏的虚拟网卡 安装网桥工具 apt-get install bridge-utils brctl ...
- linux下终端游戏
sl 一列火车 oneko 一只淘气的小猫
- linux子系统的初始化_subsys_initcall()【转】
转自:http://my.oschina.net/u/572632/blog/305492 目录[-] 概述 section的声明 注册 调用 IN BUILDING 概述 内核选项的解析完成之后,各 ...
- 64_l4
libnormaliz-devel-3.1.4-2.fc26.i686.rpm 23-May-2017 00:24 31214 libnormaliz-devel-3.1.4-2.fc26.x86_6 ...
- HDU 6119 小小粉丝度度熊 双指针
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6119 题意:中文题面. 解法:先处理可能交叉的区间,然后容易发现满足双指针的特性. //HDU 611 ...
- WordPress个人博客搭建
搭建LNMP环境 请参考前面的博文自行搭建 部署WordPress #创建数据库和用户 mysql -uroot -p123456 -S /data/3306/mysql.sock create da ...