• 2020.08.10【省选B组】模拟 总结


    爆零,呵呵。
    估分:(30 + 30 + 0 + 0 = 60)
    考场:(0 + 0 + 0 + 0 = 0)
    刚了一场比赛的(T1),最后(T2)这种一眼切的题没时间打了。

    (T1)

    刚开始想的是贪,然后打完+对拍,然后证伪。
    后来想到树形(DP),没打完。
    正解:
    可以发现原图点相邻连边可以形成一颗树,考虑树形(DP)
    我们设(f[i][0/1/2])(0)表示当前点与父亲所在的链还未覆盖的答案,(1)表示当前点覆盖但不涉及到父亲的答案,(2)表示当前点覆盖并且涉及到父亲与当前点这一条链的答案。
    然后转移即可。对于根节点要特判。

    (T2)

    我们发现可以直接加完边再操作,毕竟那些没有加的边不会先询问。
    这样就是个裸的倍增了。。。
    (max,min),向上跳时的答案,这个点的(2^j)的祖先向下跳的答案。
    对于每次询问直接(O(logn))求即可。

    (T3)

    这道题原来暴力可以(DP)转。
    我们先得到最大的操作数(就是把(S)变成(T)后并做极限次三连)
    我们可以设(DP)(f[i][j][k])表示有(i)个还要(1)次才能成为(T),有(j)个要两次的有几个,(k)表示当前操作了(k)次。
    然后转移方程式很简单,而答案就是(∑f[0][0][i])
    而这个(DP)显然可以矩乘,多设一格求和即可。

    (T4)

    一句话:难想的暴力。
    暴枚每种积木放哪一层,然后暴枚每种积木上方的积木种类。
    然后流网络流来判断是否合法(符合暴枚以及积木能放完)。
    最后用一个(DP)来求出当前积木塔移走的方案数。
    (f[S])表示当前剩下积木种类的状态数,转移显然。

    总结

    以后再也不会死刚一题了。
    简单的题先打先得分,这样才有保证啊。。。
    有些题没有想象中那么简单的。。。

  • 相关阅读:
    notes: the architecture of GDB
    How systems researchers build systems
    spark1.1.0源码阅读-executor
    spark1.1.0源码阅读-taskScheduler
    spark1.1.0源码阅读-dagscheduler and stage
    akka简单示例-2
    环境安装与项目配置
    安装zsh
    linux mysql 密码修改
    django-debug-toolbar 安装及配置 django性能监控及调试
  • 原文地址:https://www.cnblogs.com/jz929/p/13469697.html
Copyright © 2020-2023  润新知