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

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

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. QlikSense系列(4)——QlikSense管理

    QlikSense管理主要通过QMC界面,在安装成功后,首先需要导入用户,QlikSense本身不能创建和验证用户,只能借助第三方系统, 笔者只使用过Windows账户和AD域用户: 1.Window ...

  2. 免费获取Bootstrap模板的方法

    Bootstrap是Twitter推出的一个开源的用于前端开发的工具包,其中中包含了丰富的Web组件,根据这些组件,可以快速的搭建一个漂亮.功能完备的网站. 最近通过了Bootstrap中文网学习了其 ...

  3. 使用C#正则表达式获取必应每日图片地址

    微软的Bing搜索引擎首页每天都会提供了一些有趣的图片,下面使用正则表达式获取图片的地址,不管是在手机app还是在网站上都是很好的图片素材,而且每天更新,非常不错. 首先访问微软的API,该地址返回的 ...

  4. 10.2&10.3 Xcode开发包

    10.2开发包下载链接 10.3开发包下载链接 Finder打开后,按command+shift+G前往这个地址: /Applications/Xcode.app/Contents/Developer ...

  5. python爬虫:爬取凤凰指数

    在知乎上看到的这个问题,讲讲我爬取过程中遇到的问题: 1.循环爬取其他页面,在其他项目中用循环一般可以搞定,可是这个,第一页和第二第三页的表格是不同的,所以要重新写规则,我懒,写了第一页后,就不想在写 ...

  6. easyui的datetimebox时间格式化详解

    今天公司让用easyui的datetimebox组件,而且还要让格式化成大家通用的那种,网上搜了很多,但差不多都是复制黏贴的,最后请教了下螃蟹. 感谢螃蟹抽空给做了个例子,现在拿出来和大家分享下,效果 ...

  7. HashMap以及ConcurrentHashMap

    HashMap源码相关 HashMap实现原理及源码分析 总之就是这个博客,简直就是源码带逛,开心,最关键的是下面的图像 另外,自己的理解加上源码,总结如下 hash,原义散列,就是一对一: hash ...

  8. promise待看文档备份

    http://swift.gg/2017/03/27/promises-in-swift/ http://www.cnblogs.com/feng9exe/p/9043715.html https:/ ...

  9. Win7系统无法记住网络访问的凭据怎么办?

    访问内网其他IP时已经打勾记住我的凭据了,但是注销或者重启Win7系统之后,又得重新输入用户名跟密码怎么办? 下面就为大家介绍一下如何让Win7系统记住网络访问的凭据. 以上问题还会引发,重启后无法正 ...

  10. keyup.enter.native&click.native.prevent

    vue 监听键盘回车事件 @keyup.enter || @keyup.enter.native vue运行为v-on在监听键盘事件时,添加了特殊的键盘修饰符: <input v-on:keyu ...