zoukankan      html  css  js  c++  java
  • BZOJ-1923-外星千足虫-SDOI2010

    描写叙述

    这里写图片描写叙述


    分析

    • 首先看上去这貌似是一个高斯消元的题目, 直觉吧…
    • 每次给出的就相当于是一个方程. 然后非常easy想到n条虫子n个x, x_i的系数为0表示这个方程中没有i, 否则为1. 然后系数乘以对应的x再相加模2就是输入的那个结果了.
    • 然后就会发现有两个问题, 首先模怎么办, 然后时间复杂度太大了, 这样的加法方程组的高斯消元复杂度是O(n^3)的.
    • 突然想到——加法模2就相当于异或!
    • 所以用高斯消元解这个异或方程组即可了, O(n*m)
    • 一開始分析复杂度分析错了, 以为是O(n*m*二进制位数), 而二进制位数就等于n, 那么还是超时…事实上m*二进制位数是不科学的, m表示找到一个合法的方程去消元, 找到就退出了, 并非每次找都进行一次消元.
    • 另一次错是由于直接我让高斯消元直接返回i, 也就是最后一次找到的方程的序号.
      • 首先i应该+1由于我从0做下标.
      • 然后+1也不正确由于i+1是最后一次用的方程, 而求的是第几次统计后得出解来. 是用到的方程中最靠后的那个.

    代码

    https://code.csdn.net/snippets/621146

  • 相关阅读:
    解释器
    桥接
    组合
    hbase读性能优化
    Hbase为什么写比读快
    http和https区别
    R apply() 函数和 tapply() 函数
    R 语言 decostand() 函数
    R多行交叉作图
    k-mean 拐点
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5204880.html
Copyright © 2011-2022 走看看