晚练计划总结
26-1-20
。。。
简单题目
26-1-21
神秘 Trick,84 pts
26-1-25
缩点,有 DAG 性质就好做了。
26-1-26
没考虑直径以外的点,挂完了。
26-1-27
绿题,写的时候打错了一个字符,挂了 45 分。
26-2-25
P1772,看了一会发现数据范围支持跑
26-2-26
P2254,简单题,
26-3-2
P9921,(1,1)~(i,j) 的前缀 max 答案和 (i,j)~(n,n) 的后缀 max 答案再枚举每个点再二分一下即可。
我草 cdo 会
哦哦那我会双 log 做
26-3-3
保龄啦~~~~~~
建图???何意味???我这几天图论专题白做了???
连
解释奇数解的具体做法:
不难发现图中如果没有环,那么这个图就是个森林。
由于没有环,不可能有偶数解,所以所有点的度数都得是奇数。
注意到想要改变度数只能改变这个节点和其父亲的连边情况,所以从叶子节点向上进行改变即可。
若一个点的当前度数为偶数,则连接其父边,使其度数变为奇数,这样对于每一棵树,除了根节点都一定可以合法,此时根据根节点的度数的奇偶性就可以判断是否有解(根节点无父边,无法在不影响子节点的情况下改变度数奇偶性)。
26-3-4
写爆搜,枚举每个
26-3-5
。。。
无语了。
注意点:
- 先考虑顺子,再考虑带牌,这样搜得快。
- 加一个形如
nmf(i, 2, 15) if (cnt[i]) now++; ans = min(ans, now);这样的东西,方便剪枝。 - (加强版)加一个优化,对于一个搜索过的状态,若当前解不优于原解,则剪枝,可以用类哈希加 map 实现。
26-3-8
建一个分层图,第一层是横向边,第二层是纵向边,两层之间建边权为 1 的双向边,还有连接到起点和终点的边。
这是一个点数边数都是
26-3-9
设
最后时间复杂度是
26-3-10
26-3-11
DP,设
朴素和优化都是蛮好想的。
但是,对于同一头牛的多个询问,
26-3-12
反图,拓扑求最长路,然后依次考虑最长路为
因为从小依次考虑,所以上一个长度的最长路的排名不仅可以用来确定选择哪些路径转移给当前长度的最长路,还可以据此对当前长度的最长路排序。
就是将所连接的边的边权为第一关键字,连接的上一长度的最长路的排名为第二关键字排序。
后半部分逐长度处理用 bfs 实现,因为 bfs 一层一层遍历的结构恰符合我们的需要。
26-3-15
爆零。
发现图是个森林后可以 DP 做。
设
有转移如下:
初始设
注意不要设
26-3-16
场上 80 pts。
二分答案+DP。
设
为什么这个状态是对的,有一个贪心证明:如果当前在
注意转移时的贪心策略是从小到大找不是从大到小。
例子:
26-3-17
场上 40 pts,草,没写出来正解。
考虑朴素
26-3-18
场上思路从一开始就是走进了死路(一遍 DP 且根固定),本质上一定需要换根以通过简单的单一结构(即下文所提的“父节点-节点-子节点”形式连边)进行 DP 来找到复杂的最优答案。
第一遍 DP 是容易的,第二遍换根也不难,只提一下第一遍 DP 的状态定义:
- 标题: 晚练计划总结
- 作者: DimStar
- 创建于 : 2026-03-02 21:08:57
- 更新于 : 2026-03-19 14:41:02
- 链接: https://dimstar-zhang.github.io/2026/03/02/晚练计划总结/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。