摘要: DP好题? 首先确定,每一行/列只能放至多两个棋子,这么少,所以我们的状态肯定和棋子数有关。 由于我们不关注具体的方案数,所以我们不妨只关心对应棋子数量的行/列的数量。同时,由于考虑行和列都是一样的,所以我们不妨用行递推。 所以我们设$ \ dp_{i,j,k} \ $表示当前放到第 \(i\) 行 阅读全文
posted @ 2024-09-19 21:30 mountzhu 阅读(36) 评论(0) 推荐(0)
摘要: 水一篇题解。 也是一道并查集的好题,涉及另一个并查集的基本应用,并查集维护连通块(我跟并查集过不去了???) 大致题意: 给你一棵树,对于每次询问求一个点所在连通块中到达该点的最小路径权值大于给定值的点个数。 既然都连通块了,那我们在维护连通块的时候直接不把权值大于 \(K\) 的边加进去,用并查集 阅读全文
posted @ 2024-09-18 16:22 mountzhu 阅读(37) 评论(0) 推荐(0)
摘要: 并查集好题 引入 首先我们知道并查集是可以维护一个区间的覆盖问题的。具体地,我们让所有的点都有一个指针,这个指针指向这个区间的右端点 \(+1\)(具体操作可以每个点指向右边,这样后面我们查到一个点的时候用路径压缩就可以了),这样我们可以让整个区间都以此点为代表元。 当查到某个点时,我们用路径压缩( 阅读全文
posted @ 2024-09-18 14:37 mountzhu 阅读(48) 评论(0) 推荐(0)
摘要: 枚举、预处理,\(len-1\) 位,\(len\) 位但小于第一个数的这些都不讲了,看这篇题解 windy 讲一下贴近最高位的处理。 因为最高位如果取了,后面位数只能取到最高位,而不是 \(9\) ,而后面的数也是同理,所以我们的内部 \(j\) 循环枚举范围要把\(num_i\) 单独拿出来判, 阅读全文
posted @ 2024-09-15 21:52 mountzhu 阅读(22) 评论(0) 推荐(0)
摘要: 数位dp的板子题? 显然 \([a,b]\) 等价于 \([0,b]-[0,a]\)。 考虑 \(dp_{i,j}\) 表示到第 \(i\) 位数字 \(j\) 的答案。先不考虑数字大小限制(即1到999之类),则显然有 \(\large dp_{i,j}=dp_{i-1,j} \times10+1 阅读全文
posted @ 2024-09-15 21:04 mountzhu 阅读(34) 评论(0) 推荐(0)