zoukankan      html  css  js  c++  java
  • 模拟53 题解

    A. u

    一眼差分,在斜线上加一减一。

    然后发现这样的复杂度是$O(nq)$的,似乎不是很好过。

    然后发现打差分标记的形式也是连续的,所以差分两次就完了。

    B. v

    最优决策问题,一般倒着转移,$O(n*2^n)$的dp是显然的。

    考试时一直在想能否改成三进制状压,只压15位状态,表示距离边界距离为i有多少个白球。

    然后发现没有办法确定某个状态会转移到谁,于是打了全部部分分。

    其实仔细想想就可以发现,状态数不会很多。

    对于剩余球比较多的情况,状态数不会超过$C_n^i$,

    对于剩余球比较少的情况,状态数不会超过$2^i$。

    所以正解其实是用hash表记忆化状压搜索。

    其实状态数不会超过$sum limits_{i=1}^{n+1} fib_i$,证明见评论区。

    PS:证明全靠大神cbx提携。

    C. w

    首先应当发现一条性质,如果只考虑进行操作的边,那么答案为这些边造成的奇数度数的点数除2。

    在这个奇数度数点最少的前提下,应当使总长度最小。

    所以用一个pair来进行转移,first记录奇数点个数,second记录总长度。

    因为一个点可能指向多个点,应当用一些东西辅助转移。

  • 相关阅读:
    0019. Remove Nth Node From End of List (M)
    0018. 4Sum (M)
    0278. First Bad Version (E)
    0273. Integer to English Words (H)
    0017. Letter Combinations of a Phone Number (M)
    0016. 3Sum Closest (M)
    0015. 3Sum (M)
    软件测试常见面试题
    如何快速掌握DDT数据驱动测试?
    selenium--三种等待方式
  • 原文地址:https://www.cnblogs.com/skyh/p/11603741.html
Copyright © 2011-2022 走看看