墨淳雅 发表于 2025-6-1 21:07:44

梦熊2月星航S组模拟总结

麻将

1、算法思想维度

问题类型:DP
错误原因:没有思考出状态,对于此类问题不是很了解。
正确思路:设 \(f_{i,j,k}\) 为大小不超过 \(i\) 的数,中有 \(j\) 个 \(\{i-1,i,i+1\}\),\(k\) 个 \(\{i,i+1,i+2\}\),且不超过 \(i\) 的数全部用完的方案数,转移即可。
2、实现细节维度

边界条件:因为合法状态数量不超过 \(n^2\),所以直接转移是 \(O(n^3)\),要使用滚动数组。
数据结构:考虑 \(O(n^3)\) 无法通过,转移时选择扩散性直接差分即可。
解题框架

f = 1;for (int i = 1; i
页: [1]
查看完整版本: 梦熊2月星航S组模拟总结