题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4004 今天讲课讲到的题,据说满足拟阵的性质,所以贪心是正确的: 总之就贪心,按价格从小到大排序,不能被表出就买上,计入答案,然后去消别的: 看博客说要用 long  double,今天才第一次知道 long double 读入时是 %Lf 啊. 代码如下: #include<iostream> #include<cstdio> #include<cstring>…
题目链接 Luogu P3265 题解 非常正常的线性基! 但是我不会线性基-- (吐槽:#define double long double 才过--) #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <iostream> #define space putchar(' ') #define enter putchar('\n…
[题目分析] 题目很简单,就是要维护一个实数域上的线性基. 仿照异或空间的线性基的方法,排序之后每次加入一个数即可. 卡精度,开long double 和 1e-6就轻松水过了. [代码] #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <set> #include <map> #include <string&g…
一个物品可以被其他物品表出,说明另外的每个物品看成矩阵的一个行向量可以表出该物品代表的行向量. 于是构造矩阵,求最多选多少个物品,就是尽可能用已有的物品去表示,相当于去消去一些没必要物品, 类似于xor的线性基,这里是实数的线性基. 通过高斯消元不断消除,看消出几行全是零的即可.也就是看这个线性空间基底的维数或者说矩阵的秩. 但是本题还要选的东西花费最少.可以考虑每次消元时,选择一行代表的物品花费最小的行向量来消剩下的(贪心策略). 如果不选这个,那么之后选出的若干个,如果真的可以表出这个的话,…
bzoj4004,戳我戳我 Solution: 裸的线性基,这没啥好说的,我们说说有意思的地方(就是我老是wa的地方) Attention: 这题在\(luogu\),上貌似不卡精度,\(bzoj\)卡精度(一开始还以为自己精度被卡的很惨,结果是线性基打错了) 线性基板子: for(int j=50;j>=0;j--){ if(!(box>>j))continue; if(!a[j]){a[j]=box;break;} else box=(a[j]^box); } 注意不是一个个动态开位…
总之就是线性基那一套贪心理论直接做就好了. 然而加强数据后很卡精度的样子. 于是重点在于这个特技:在整数模意义下搞. #include<cstdio> #include<algorithm> #define N 505 using std::sort; int k,l,m,n,p=1e9+7; int s[N],t[N]; int a[N][N],*v[N]; int pow(int u,int v){ int a=1; for(;v;v>>=1){ if(v&…
求最小权极大线性无关组. 先将所有向量按权值排序,从小到大依次判断,若能被前面已选向量线性表出则不选,这样一定最优. 据说是用拟阵来证明,但感性理解一下感觉比较显然,首先这样个数一定是最多的,其次对于一个线性相关组,没有被选上的一定是最大的那个向量,于是解一定最优. #include<cmath> #include<cstdio> #include<algorithm> #define rep(i,l,r) for (int i=(l); i<=(r); i++)…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4004 看Zinn博客水过去…… 运用拟阵可以证明按价格从小到大买的贪心是正确的.但自己还不会. 然后如果当前物品可以被线性表出就不买了.否则买,在第一个不能线性表出的位置上记录这个物品,表示按已经被消成这样的这个物品的这一位来消掉这一位是可以和前面那些位的消的情况吻合的. 然后因为卡精度而用long double.在printf里是Lf. #include<iostream> #incl…
[BZOJ4004][JLOI2015]装备购买 Description 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am) 表示 (1 <= i <= n; 1 <= j <= m),每个装备需要花费 ci,现在脸哥想买一些装备,但是脸哥很穷,所以总是盘算着怎样才能花尽量少的钱买尽量多的装备.对于脸哥来说,如果一件装备的属性能用购买的其他装备组合出(也就是说脸哥可以利用手上的这些装备组合出这件装备的效果),那么这件…
BZOJ_4004_[JLOI2015]装备购买_线性基 Description 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am) 表示  (1 <= i <= n; 1 <= j <= m),每个装备需要花费 ci,现在脸哥想买一些装备,但是脸哥很穷,所以总是盘算着 怎样才能花尽量少的钱买尽量多的装备.对于脸哥来说,如果一件装备的属性能用购买的其他装备组合出(也就是 说脸哥可以利用手上的这些装备组合出这件装备的效…