• 集训Day4


    在bzoj刷了好几天杂题感觉手感不是很好

    继续回来集训一下

    好几天没更新了啊...

    bzoj1875

    一个无向图,一个人要从起始点走$t$步走到终点,不能沿着刚走过来那条边回去,问有多少种走法

    $m leq 60$ $t leq 2^{30}$

    由于刚走过来那条边不能走,边数又很小,我们可以考虑把边看成点,弄一个系数矩阵出来然后$t-1$次方就可以了

    bzoj3173

    一个空序列,每次插入一个数,询问当前最长上升子序列的长度

    $n leq 100000$

    I:我们可以用平衡树维护这个序列,插入一个数是$logn$的,询问是$logn$的,直接搞定

    II:离线 从最后开始一个一个删除,然后用树状数组查询前缀第k大,正确性显然

    II比I不知道短到哪里去了。。。我还是选择和I谈笑风生

    bzoj3591

    给一个1~n排列的最长上升子序列,求原序列方案数

    $n leq 15$

    考虑宽爷爷教我们的状压dp

    首先,$nlogn$求最长上升子序列是有一个dp数组的,$dp[i]$表示i的最长上升子序列末尾最小是多少

    显然dp[i]是递增的,于是我们可以用S这个状态表示S里面的元素在不在dp[i]里

    这样就可以还原出整个最长上升子序列

    这道题有个蛋疼的地方就是...要考虑3个东西

    1.还没考虑到 2.已经考虑到了 在dp数组里 3.已经考虑到了 但被弹出去了

    那我们就麻烦一点

    用陈老师教我们的三进制状压dp大力d一发

    $O(n 3^n)$还是珂以过的吧...

  • 相关阅读:
    (iOS)项目总结-项目中遇到的各种的问题和解决方法
    iOS ---不一样的NSLog打印(精准打印)
    iOS 之 Cocoapods安装
    iOS--关于同步下载
    iOS--NSTimer设置定时器的两种方法
    iOS--创建炫酷的渐变色界面
    Mac OS安装 OpenCV(python3)
    使用ADB无线连接Android真机进行调试
    Hexo 添加 SEO
    如何得体跳槽
  • 原文地址:https://www.cnblogs.com/Kong-Ruo/p/9192135.html
Copyright © 2020-2023  润新知