2021.09.28pm

2021.09.28PM

预期 实际
A 100 100
B 100 100
C 100 100
D 10 10
S 310 310

可能水,一定菜
原来之前的省选题这么水的嘛···不过也没做完就是了···
不过这次的DP确实给我人做傻了,接下来本来说先练LCA,那就转来先做DP吧···毕竟DP出现概率高得多。

A [SCOI2003]扫雷 \(\blacktriangle\)

  1. 一道很好玩的题,虽然答案只有0,1,2就是了。
  2. 首先思路自然是暴力搜索,因为感觉约束条件很多,比较容易剪枝。
  3. 每次根据假设的当前位置(指第二列当前位置左侧的点),上一个位置是否埋雷来推出下一个位置,如果发现不满足条件就返回上一个重新枚举。
  4. 由于表示状态参数较少(只用当前位置的数字,上一个位置和这个位置是否埋雷三个参数就能表示),但搜索量较大,可以考虑记忆化搜索。
  5. 等一下!我们刚刚说的是····记忆化搜索?换个名字它也可以叫 \(DP\)
  6. 前面也说了,状态较少,那么只与当前与之前有关,那么便有了 \(DP\) 转移方程。(dp[i][0][1]表示第i个位子目前位置有雷,上一个位置没有雷。)

\[a[i]=1 \begin{cases} dp[i][1][0]=dp[i-1][0][1]\\ dp[i][0][1]=dp[i-1][0][0]\\ dp[i][0][0]=dp[i-1][1][0]\\ \end{cases} \]

\[a[i]=2 \begin{cases} dp[i][1][0]=dp[i-1][1][1]\\ dp[i][0][1]=dp[i-1][1][0]\\ dp[i][1][1]=dp[i-1][0][1]\\ \end{cases} \]

\[a[i]=3 \begin{cases} dp[i][1][1]=dp[i-1][1][1]\\ \end{cases} \]

\[a[i]=0 \begin{cases} dp[i][0][0]=dp[i-1][0][0]\\ \end{cases} \]

  1. 当然,这个DP可以滚动数组优化。时间复杂度\(O(n)\)

B 互不侵犯 \(\blacktriangle\!\blacktriangledown\)

  1. 又是一道DP。
  2. 确认不是普及组题后看数据范围就两个可能了:搜索或者状缩DP。
  3. 显然这道题也是可以搜索的,只不过会T挂。(大约 \(O(2^{n^2},欢迎作死)\)
  4. 那么显然只剩状压DP了。(其实状压DP本身就是对搜索的一个优化)
  5. 我们考虑每一行的状态,再枚举上一行的状态,不矛盾的情况下进行转移。
  6. 时间复杂度 \(O((2^n)^2)\)
  7. \(mol\) 优化。
    • 预处理出每种成立的状态,由于状态数极少(增长速度不高于\(n^{\log_2^n-1}\)),我们可以预先处理出来,这样时间复杂度优化到很坏\(O((n^{\log_2^n-1})^2)\)
    • 当然,枚举子集的方式也可以,但是明显两个优化同时使用比较难处理。
    • 滚动数组,优化空间复杂度到 \(O(k*2^n)\)
    • 扫描线。这道题显然可以,并且可以和预处理共同使用,效率更是起飞。(插个眼,在后面做状压DP小结时一定把这道题拉进去写扫描线。)
    • 打表。\(O(1)\)

C 繁华的都市 \(\blacktriangle\)

  1. 最小生成树板题。而且已经写过了。
  2. 简单介绍一种复杂度差不多但常数大到起飞的非最小生成树的解法————二分。
  3. 显然最少边数是 \(n-1\)
  4. 我们假设最长的边的长度,把所有小于等于这个长度的边都建上,看是否连通,连通说明成立。

D 最大矩阵和 \(\blacktriangle\!\blacktriangledown\)

  1. 这是道DP,这我想出来了的。
  2. 是道线性DP,而不是区间DP,是我没想到的。
  3. 而且我没有分类讨论···从m的范围只有两个选择其实是看得出来的!!!
  4. 我们先讨论m=1的情况,是之前筷子的升级版(之前筷子也错解成区间DP)。显然有DP方程:
    \(dp[i][k]=\max(dp[l][k-1]+s[i]-s[l])\)\(dp[i][k]=\max(dp[i][k],dp[i-1][k-1]\)
  5. 而对于m=2的情况,可以分成2部分:一部分是两个m=1各算各的,另一部分是强制上下拼一起进行转移(这一块我也想到了,但是没有实现出来!!!)。时间复杂度\(O(n^3*k)\),只能说刚好卡过去···。

image
\(\cal {Made} \ {by} \ {YuGe}\)

posted @ 2021-09-28 22:37  u2003  阅读(26)  评论(0)    收藏  举报