颓了十天回来做题果然……

感觉还是很有收获的,这两以前都没学过

bzoj1013: [JSOI2008]球形空间产生器sphere

poj1830(upd)

之前做得很烂还被 D飞*2 了。。重做一次

对于一个灯,把能把它点亮的其他灯设为1,然后高斯消元。

注意在这里的系数只是一个判断的手段,判断是否受到影响,并不是参与运算的(之前纠结了很久)

用二进制状压判断无解多解比较方便。(之前直接判当前位是不是0直接break错的一逼)

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std; int n,q[];
void guess()
{
for(int j=;j<=n;j++)
{
for(int i=j+;i<=n;i++)
if(q[i]>q[j])swap(q[i],q[j]);
if(q[j]<=)
{
if(q[j]==)printf("%d\n", (<<(n-j+)) );
else if(q[j]==)printf("Oh,it's impossible~!!\n");
return ;
} int z;
for(int i=n;i>=;i--)
if(q[j]&(<<i)){z=i;break;}
for(int i=;i<=n;i++)
{
if(i==j)continue;
if(q[i]&(<<z))q[i]^=q[j];
}
}
printf("1\n");
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int x,y;
scanf("%d",&n);
memset(q,,sizeof(q));
for(int i=;i<=n;i++)scanf("%d",&x),q[i]^=x;
for(int i=;i<=n;i++)scanf("%d",&x),q[i]^=x;
for(int i=;i<=n;i++)q[i]|=(<<i);
while(scanf("%d%d",&x,&y)!=EOF)
{
if(x==&&y==)break;
q[y]|=(<<x);
}
guess();
}
return ;
}

poj1830

bzoj4004: [JLOI2015]装备购买

hdu3949(upd):没开LL见祖宗系列(记得是1LL<<i啊)
裸的线性基,但是求第k大的时候稍微注意下,求第k大的时候实际上求的是第k+1大,因为0会被看作第0大的……而且0需要特判存不存在,假如存在那么k--,否则这里就和前面的多算抵消了

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std;
typedef unsigned long long uLL; uLL lt[],zero;
void insert(uLL x)
{
for(int i=;i>=;i--)
if(x&(1LL<<i))
{
if(lt[i]==){lt[i]=x;return ;}
else x^=lt[i];
}
zero=;
}
int plen;uLL p[];
void rebuild()
{
for(int i=;i>=;i--)
if(lt[i]>)
{
for(int j=i-;j>=;j--)
if(lt[i]&(1LL<<j))lt[i]^=lt[j];
}
plen=;
for(int i=;i<=;i++)
if(lt[i]>)p[++plen]=lt[i];
}
void findkth(uLL x)
{
if(x>=(1LL<<plen)){printf("-1\n");return ;}
uLL ans=;
for(int i=plen;i>=;i--)
if(x&(1LL<<i-))ans^=p[i];
printf("%I64u\n",ans);
} int main()
{
int T,T_T=;
scanf("%d",&T);
while(T--)
{
int n;uLL x;
scanf("%d",&n); zero=;
memset(lt,,sizeof(lt));
for(int i=;i<=n;i++)
scanf("%I64u",&x), insert(x);
rebuild(); int Q;
scanf("%d",&Q);
printf("Case #%d:\n",++T_T);
while(Q--)
{
scanf("%I64u",&x);x-=zero;
findkth(x);
}
}
return ;
}

hdu3949

0x35 高斯消元与线性空间的更多相关文章

  1. 算法竞赛进阶指南0x35高斯消元与线性空间

    高斯消元 目录 高斯消元 ACWing207. 球形空间产生器(点击访问) 求解思路 代码 ACWing208. 开关问题(点击访问) 思路 代码 总结 欣赏 线性空间 定义 ACWing209. 装 ...

  2. 线性空间和异或空间(线性基)bzoj4004贪心+高斯消元优秀模板

    线性空间:是由一组基底构成的所有可以组成的向量空间 对于一个n*m的矩阵,高斯消元后的i个主元可以构成i维的线性空间,i就是矩阵的秩 并且这i个主元线性无关 /* 每个向量有权值,求最小权极大线性无关 ...

  3. AcWing 209. 装备购买 (高斯消元线性空间)打卡

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

  4. 高斯消元 & 线性基【学习笔记】

    高斯消元 & 线性基 本来说不写了,但还是写点吧 [update 2017-02-18]现在发现真的有好多需要思考的地方,网上很多代码感觉都是错误的,虽然题目通过了 [update 2017- ...

  5. [JLOI2015]装备购买 (高斯消元)

    [JLOI2015]装备购买 \(solution:\) 首先这道题的题面已经非常清晰的告诉我们这就是线性空间高斯消元的一道题(可以用某些装备来表示另一件装备,这已经不能再明显了),只是这道题要求我们 ...

  6. 【BZOJ-3143】游走 高斯消元 + 概率期望

    3143: [Hnoi2013]游走 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2264  Solved: 987[Submit][Status] ...

  7. 【BZOJ-3270】博物馆 高斯消元 + 概率期望

    3270: 博物馆 Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 292  Solved: 158[Submit][Status][Discuss] ...

  8. *POJ 1222 高斯消元

    EXTENDED LIGHTS OUT Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9612   Accepted: 62 ...

  9. [bzoj1013][JSOI2008][球形空间产生器sphere] (高斯消元)

    Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球 面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧 ...

随机推荐

  1. 创建一个netcore2.0和angular的项目并运行起来

    netcore2.0发布了,喜大普奔. 我们先下载SDK,请看张善友老师的这篇博客 http://www.cnblogs.com/shanyou/p/7363037.html 下载完之后 我用的vs2 ...

  2. INFORMIX MATCHES的使用详解

    MATCHES  运算符返回 TRUE ,如果一个字符串与给定的掩码匹配. 语法 expr  [NOT]  MATCHES  mask   [ ESCAPE "char" ] ex ...

  3. hdu1853 Cyclic Tour 完美匹配 验证模版

    题意: 给出n个城市和m条路,每个城市只能经过一次,想要旅游所有的城市,求需要的最小花费(路径的长度). 分析: 做题之前,首先要知道什么是完美匹配.不然题目做了却不知道为什么可以用这个方法来做.完美 ...

  4. spring之pom.xml配置

    spring之pom.xml配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...

  5. 电商物流仓储WMS业务流程

    电商物流仓储WMS业务流程 SKU是什么意思?  一文详解电商仓储管理中SKU的含义 从货品角度看,SKU是指单独一种商品,其货品属性已经被确定.只要货品属性有所不同,那么就是不同的SKU. PO信息 ...

  6. 使用JDK和axis2发布webservice

    最近使用webservice进行远程调用一直很火,自从JDK1.6版本发布后,发布一个webservice项目变得更加简单了 笔者由于工作的需要针对JDK和axis2如何发布webservice做过相 ...

  7. SQL 字段类型详解

    bit    整型 bit数据类型是整型,其值只能是0.1或空值.这种数据类型用于存储只有两种可能值的数据,如Yes 或No.True 或False .On 或Off.    注意:很省空间的一种数据 ...

  8. 配置notepad++编程环境

    1. 到 https://sourceforge.net/projects/mingw-w64/files/ 下载MinGW64,解压并移动到C盘根目录 2. 将 C:\MinGW64\bin 加入系 ...

  9. Python代码块缓存、小数据池

    引子 前几天遇到了这样一道Python题目:a='123',b='123',下列哪个是正确的? A. a != b B. a is b C. a==123 D. a + b =246 正确答案是B 是 ...

  10. 补充01 Django 类视图

    视图 函数视图[Function Base View] 以函数的方式定义的视图称为函数视图,函数视图便于理解.但是遇到一个视图对应的路径提供了多种不同HTTP请求方式的支持时,便需要在一个函数中编写不 ...