Loading

摘要: 比较好的题。 首先你考虑一个回文串,什么时候会循环的时候重复计算。当且仅当其有一个最小循环节 \(t\),移动 \(t\) 次后就会相同。 我们要将这种东西给减掉,同样的,这种贡献我们可以在计算长度 \(\le n\) 的回文串时加上。 具体就是减去它所有因数的 DP 值即可,最后答案注意如果一个长 阅读全文
posted @ 2025-10-03 21:05 Alexande 阅读(8) 评论(0) 推荐(0)
摘要: 首先朴素 DP 是记录 \(f_{i, j}\) 表示到了第 \(i\) 个点跳了 \(j\) 个点的最小代价。 发现如果 \(j\) 过大 \(2^j\) 直接爆了,于是只枚举 \(j \le 30\) 的部分即可。 阅读全文
posted @ 2025-10-03 16:46 Alexande 阅读(8) 评论(0) 推荐(0)
摘要: 首先将 \(r, g\) 给捆绑出来,先把 \(g, b, rg\) 这三种东西给排好,方案数容易计算。 然后考虑到目前插板,不能将 \(r\) 插到 \(g\) 前面,空隙数是好计算的,于是简单组合一下就做完了。 阅读全文
posted @ 2025-10-03 11:39 Alexande 阅读(7) 评论(0) 推荐(0)
摘要: 本质上就是将卡特兰数的 \(y = x\) 这条限制线移到了 \(y = x + k\) 这条限制线,格路计数即可。 阅读全文
posted @ 2025-10-03 11:08 Alexande 阅读(6) 评论(0) 推荐(0)
摘要: 比较唐的一个题。 你发现不好办的地方就是它限制了每个盒子至少放一个,不过我们容斥一下就解决了这个限制。 但你发现后面那个组合式子不太好办,整体考虑,组合递推即可做到单次 \(O(1)\)。 阅读全文
posted @ 2025-10-03 09:57 Alexande 阅读(5) 评论(0) 推荐(0)
摘要: 做这种排列计数题不是很明白. 首先考虑 \(x\) 很小,但它范围是扣掉一段区间,很不好. 我们容斥 \(j\) 个位置不满足条件去 DP,每次状压 \([i - x + 1, i + x - 1]\) 里数的用的情况即可,需要注意开头结尾的时候填不满. 阅读全文
posted @ 2025-10-03 09:23 Alexande 阅读(9) 评论(0) 推荐(0)