zoukankan      html  css  js  c++  java
  • 21.8.2

    T1: hdu4965 - Fast Matrix Calculation

    (真的很水!)

    (n) 很大,(m) 很小。不难想到利用结合律降低矩阵连乘复杂度。预处理出 (BA) 这个 (m imes m) 的矩阵。那么 ((AB)^{n^2}=A(BA)^{n^2-1}B),中间那项我用的快速幂,不知道直接算行不行(直接算是 (mathrm O!left(m^3n^2 ight)) 感觉有点悬)。

    (mod 6) 不知道是干啥的,感觉很迷惑!

    T2: P3265 - 装备购买

    (n)(m) 维向量,每个向量有一个权值,求最多可以选多少个线性无关向量,以及极大线性无关组的权值和最小是多少。

    初等行变换不改变列的线性相关性,这是好的。考虑观察高斯消元之后的向量们,是等价的。

    注意到高斯消元天然地选择列号字典序最小的一组基作为主元列。一个猜想是,将列们按照 cost 排序,那么高斯消元选择的是权值和最小的基。这看起来是显然的,实则不显然,因为字典序最小不代表权值和最小,可能出现 (a_1+a_4>a_2+a_3) 的情况。考虑证明一下此处字典序最小确实是总权值最小。

    观察行等价简化阶梯型的列们,设主元列序号是 (i_{1sim s}),有 (pmb a_{i_j}=pmb e_j),令 (i_{s+1}=n+1),那么将列分为 ({[i_j,i_{j+1})}) 这些连续段,那么第 (j) 段是只有前 (j) 行才可能非零。那么前 (j) 段组成的向量组的秩显然为 (j)(j+1) 行下面全是 (0) 了都,于是前 (j) 段最多能选出 (j) 个线性无关向量,那么选出的第 (j) 个的位置肯定不在 (i_j) 前面(不然不可能实现在前 (j-1) 段这个 (mathrm{rank}=j-1) 的向量组里面选 (j) 个线性无关向量),那么正确性就显然了吧(因为每个位置都选了理论最前位置)。

    T3: P4463 - calc

    由于互不相同,每种值的集合都有 (n!) 种排列,不妨强行令它单调(这样 DP 就不用 sb 地状压啦!)最后答案乘以 (n!)

    考虑一个显然的 DP:(dp_{i,j}) 表示选了 (i) 个,值都要在 ([1,j]) 内的权值和。显然有转移 (dp_{i,j}=sumlimits_{k=1}^jkdp_{i-1,k-1})。但是 (j) 比较大,是 1e9,不能直接做。但是容易发现一个事情:(dp_{0}) 是关于 (j) 的零次多项式,(dp_1) 是二次,那么 (dp_{i}) 是关于 (j)(2i) 次多项式。证明比较容易,归纳的话,转移式里 (kdp_{i-1,k-1}) 是关于 (k)(2i-1) 次多项式,根据等幂和的理论,它的前缀和是 (2i) 次多项式。

    那么可以拉格朗日插值(虽然我现在还没学多项式,但是也是可以勉强写写的,毕竟不难),先平方递推出 (dp_n)(2n+1) 项,再根据它们插值出 (dp_{n,K})。这个还是直接求值,多项式系数都不用搞出来的。观察插值公式可知拉格朗日插值在模意义下成立。

    T4: P5320 - 勘破神机

    太难了不会。计划顺利的话应该是今年年底的时候能会这题。

    珍爱生命,远离抄袭!
  • 相关阅读:
    新·刷题记录【争取认真来做】
    Codeforces 235D Graph Game
    Codeforces 235B Let's Play Osu!
    Codeforces 235E Number Challenge
    Codeforces 235C Cyclical Quest
    AHOI2017游记
    bzoj4826: [Hnoi2017]影魔
    大数分解模板
    A new start
    0712
  • 原文地址:https://www.cnblogs.com/ycx-akioi/p/21-8-2.html
Copyright © 2011-2022 走看看