博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【题解】 bzoj1923: [Sdoi2010]外星千足虫 (线性基/高斯消元)
阅读量:5099 次
发布时间:2019-06-13

本文共 1008 字,大约阅读时间需要 3 分钟。

Solution:

  • 这个高斯消元/线性基很好看出来,主要是判断在第K 次统计结束后就可以确定唯一解的地方和\(bitset\)的骚操作
  • (我用的线性基)判断位置,我们可以每次加入一个线性基时判断是不是全被异或掉了,如果没有,说明这个方程不是冗余的,那么我们可记录非冗余方程个数
  • 如果非冗余方程个数小于\(n\),那就是个不定方程组,有无数种解,否则,在个数第一次达到\(n\)时,就可输出当时输入方程的号码
  • 还有一个点就是压空间与时间,这题主要是时间,用到大杀器\(bitset\),具体看,这位辽宁省队巨佬的博客吧

Code:

//It is coded by Ning_Mew on 5.29#include
using namespace std;const int maxn=1e3+7,maxm=2e3+7;int n,m;int ans[maxn],tot=0;bitset
x[maxn];string s;bool pr;void push(bitset
S){ for(int i=n-1;i>=0;i--){ if(S[i]){ if(x[i][i]){S=(S^x[i]);} else {x[i]=S;tot++;return;} } }}int main(){ scanf("%d%d",&n,&m); if(m
>s; bitset
S(s); cin>>s; if(s[0]=='1')S.flip(n); //cout<
<<":"<
<<' '<
<<' '<
<<' '<
<
=0;i--){ for(int j=i-1;j>=0;j--){ if(x[i][j]){x[i]=(x[i]^x[j]);} } if(x[i][n])printf("?y7M#\n"); else printf("Earth\n"); } return 0;}

博主蒟蒻,随意转载。但必须附上原文链接:,否则你会终生找不到妹子!!!

转载于:https://www.cnblogs.com/Ning-Mew/p/9107904.html

你可能感兴趣的文章
程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦
查看>>
Linux服务器的那些性能参数指标
查看>>
面试高级算法梳理笔记
查看>>
深度学习与计算机视觉系列(8)_神经网络训练与注意点
查看>>
大话程序猿眼里的高并发架构
查看>>
访问服务器,远程访问linux主机
查看>>
Java Day 09
查看>>
走近Java之幕后的String
查看>>
django+sqlite进行web开发(二)
查看>>
一些比较好的论坛、博客
查看>>
(转载)iOS- 指压即达,如何集成iOS9里的3D Touch
查看>>
Python模块
查看>>
iOS cocoapods 怎么开源代码
查看>>
第十七节:类与对象-属性-类常量-自动加载对象
查看>>
【博客美化小妙招】你希望有一个可爱的看板娘吗?
查看>>
BZOJ.2159.Crash的文明世界(斯特林数 树形DP)
查看>>
c# 设计模式
查看>>
Android Service被关闭后自动重启,解决被异常kill 服务
查看>>
计蒜客复赛 百度地图导航(最短路,好题,经典拆点)
查看>>
经典排序算法的总结及Python实现
查看>>