zoukankan      html  css  js  c++  java
  • 2020 CCPC Wannafly Winter Camp Day1

    题目链接:https://ac.nowcoder.com/acm/contest/3979

    B - 密码学

    总结:看了一下题目,突然很好奇队友是怎么这么快过的,要是我写的话好像只会搞个高斯消元了。

    队友的做法

    把所有的修改操作离线,然后倒序所有的修改,因为每次操作的形式是:把第 (x) 行的数全部加给第 (y) 行,换言之就是 (y'=x+y) 。那么执行撤销操作就需要 (y=y'-x)

    高斯消元的做法

    每列是独立的,并且每列的变换矩阵还是同一个。单独抽出其中一列,比如只有2个元素。一开始的矩阵为单位矩阵,即每个元素只被自己影响。

    (quad egin{bmatrix} 1 & 0 \ 0 & 1 end{bmatrix} quad)

    把第1行加给第2行:

    (quad egin{bmatrix} 1 & 0 \ 1 & 1 end{bmatrix} quad)

    然后把最后的结果 (('P'=41, 'Q'=42))

    (quad egin{bmatrix} 41 \ 42 end{bmatrix} quad)

    作为常数接在右边,构成增广矩阵

    (quad egin{bmatrix} 1 & 0 & | & 41 \ 1 & 1 & | & 42 end{bmatrix} quad)

    调用高斯消元接口就可以解出每个变量的值。

    解一个增广矩阵的复杂度为 (O(n^3)) ,共 (n) 个增广矩阵,总复杂度为 (O(n^4)) 。但是对于同一个系数矩阵,配上不同常数项形成的增广矩阵,可以使用LU分解法,分解复杂度 $O(n^3) ,回代消元复杂度 (O(n^2)) ,总复杂度为 (O(n^3)) .

    H - 最大公约数

    打表题,打表可以发现结果,jls也有讲详细的证明。

    F - 乘法

    题解:给其中一维排序,然后二分答案x,再 (O(nlogn)) 统计有多少个比x小的。记得分正负数讨论,最好的办法是把正数和负数分开存。

    I - K小数查询

    jls的数据结构题。

    A - 期望逆序对

    昨天(2020/1/30)的Codeforces刚刚出?统计的方法有点点不同。

  • 相关阅读:
    【BZOJ 3754】: Tree之最小方差树
    【cogs 775】山海经 ——Segment Tree
    【BZOJ 3626】 [LNOI2014]LCA【在线+主席树+树剖】
    【BZOJ 2004】: [Hnoi2010]Bus 公交线路
    开启22端口
    将MySQL数据库表结构,自动生成PDM方法
    linux环境 创建多版本php
    mysql 数据类型选择浅谈
    int(5) 到底是多长
    (记)小程序如何发布
  • 原文地址:https://www.cnblogs.com/KisekiPurin2019/p/12244465.html
Copyright © 2011-2022 走看看