2025/10/17 总结

时态同步

情况

  • 时间:\(20min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • \(\text{dp}\)\(\text{dfs}\)

思路

我们要计算距离底部的深度,所以 \(dis_x=\max(dis_y+z),y\in\text{subtree}(x)\)\(z\)\(x\to y\) 的边权),所以我们要加上的就是 \(dis_x-dis_y-z,y\in\text{subtree}(x)\)

Wavio Sequence

情况

  • 时间:\(40min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • \(\text{dp}\)\(\text{LIS}\)

思路

这道题相当于要求一个山峰形状的序列,所以我们可以从前往后、从后往前求每个节点为结尾的最长上升子序列,所以最后的答案为前后最长上升子序列的最小值的 \(2\) 倍减去 \(1\)

关灯问题 II

情况

  • 时间:\(30min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • 状压 \(\text{dp}\),最短路

思路

我们可以直接状压,然后通过枚举选择哪一个按钮转移下一个状态,但是我们发现有一些状态可能会重复,所以我们用类似最短路的方法来进行搜索,然后就可以得到答案了。

方格取数

情况

  • 时间:\(1h\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • \(\text{dp}\)

思路

我们发现因为只能向下或右走,所以横纵坐标之和每次增加 \(1\),所以如果两次行走同样步数时不在同一方格,则他们不可能有其中一个方案走到该方格,所以我们直接 \(4\)\(\text{dp}\) 即可。

数字计数

情况

  • 时间:\(30min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • 数位 \(\text{dp}\)

思路

我们可以很容易得知第 \(i\) 个数字出现次数为小于等于 \(r\) 的次数减去小于 \(l\) 的次数即可,所以我们直接两次数位 \(\text{dp}\) 即可。

The Cow Run G/S

情况

  • 时间:\(1h\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • \(\text{dp}\)

思路

我们设 \(dp_{i,j,0/1}\) 表示当前已经套完了 \(i\)\(j\) 的牛,然后第三维表示在左边还是在右边,所以直接 \(\text{dp}\) 转移 \(dp_{i-1,j,0/1}\) 或者 \(dp_{i,j+1,0/1}\) 就行了,最后答案为 \(\max(dp_{1,n,0},dp_{1,n,1})\)

琪露诺

情况

  • 时间:\(30min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • \(\text{dp}\),单调队列

思路

我们先可以想到写一个朴素的 \(\text{dp}\) 解法 \(f_i=\max(f_j)+a_i,i-r\le j\le i-l\),所以我们考虑如何优化,所以我们可以轻而易举地想到用单调队列,想到这这道题就结束了。

posted @ 2025-10-17 16:17  小熊涛涛  阅读(5)  评论(0)    收藏  举报