当前位置: 首页 > news >正文

洛谷 P8189

洛谷 P8189

\(n\) 个礼物分配给 \(n\) 个人,第 \(i\) 个人原本拥有第 \(i\) 个礼物,每个人都要一个喜欢程度的列表,现在他们可以交换礼物,但每个人最后得到的礼物的喜欢程度不能低于原本的礼物。

\(T\) 组询问,每组询问将 \(n\) 个人分成两组,两组独立的交换,问有几种分配方式。

\(n \le 18, T \le 10^5\)

不难发现这个交换方式一定是形成了若干个环。具体一点,如果第 \(p_i\) 个礼物最后在第 \(i\) 个人手里,那么有一条 \((p_i, i)\) 的有向边,第 \(i\) 个礼物需要给下一个人。

有一个比较显然的状压 DP,令 \(dp(S)\) 表示集合 \(S\) 内的人与 \(S\) 对应的礼物对应的方案数。(例如第 \(1, 3\) 个人与第 \(1, 3\) 个礼物配对)转移显然可以枚举子集,\(dp(S) = dp(S') \cdot f(S \cap S')\)。其中 \(f(S)\) 表示 \(S\) 中的元素能形成多少种环?

于是就只用求 \(f(S)\) 了。我们将这个环断开,以 \(\min \{S\}\) 为开头形成一条链,令 \(g(S, i)\) 表示 \(S\) 内的元素形成一条以 \(\min \{ S\}\) 为开头,\(i\) 为结尾的链。只用检查一下能否把两端相连即可。

时间复杂度:\(O(3^n)\)。应该可以使用子集卷积之类的东西优化,详情可以看看题解。

注意为了不算重,可以强制令 \(\min \{ S \}\) 不在 \(S'\) 内,而在 \(f\) 的环内。

思路还是比较顺畅,根据需要的东西一步一步分解问题,设计状态转移即可。

http://www.zskr.cn/news/77976.html

相关文章:

  • 12月8日
  • 你在用什么免费ip库?
  • 香橙派上进行 Livox Mid-360 激光雷达开发(二)移植FAST_LIO
  • 10406_基于Springboot的社交平台系统
  • 2025 年 12 月杭州公寓出租权威推荐榜:精选浙江优质房源,温馨宜居与便捷交通的完美之选
  • 2025云南短视频制作服务商/公司TOP5推荐!昆明等地短视频制作企业榜单发布,赋能企业品牌传播新生态
  • 极速AI助手 - 多AI服务桌面助手, 支持MCP工具调用, 内置免费AI功能
  • Python函数基础实战教程:从定义调用到参数传值全解析
  • 获取数组长度即最大下标
  • 白带异常用药推荐:科学应对妇科炎症的健康指南
  • 第49天
  • 洛谷 P3959
  • 东城区离婚律师事务所推荐:专注婚姻家事的法律服务机构
  • 水下的成长——Goodbye 2025
  • 口碑好的治疗白带异常的品牌推荐 女性健康守护指南
  • Codeforces Round 1069 (Div. 2) A-E2
  • 北京胜率高的婚姻律师事务所有哪些
  • 模切机品牌推荐:国内优质选择及核心优势解析
  • 出门改变
  • 朝阳区婚姻律师事务所推荐:聚焦家事法律服务机构综合盘点
  • 工业洗地机品牌推荐:口碑之选与实用选购参考
  • 数据会说谎?三大推断方法帮你“审问”数据真相
  • 实用指南:本地开发可信 HTTPS 证书生成神器:mkcert
  • 京城爱加陪诊官方服务电话信息声明公示
  • 2025年微信公众号排版工具权威评测:哪款编辑器更适合你?
  • 道2:汉语和英语是互相独立的系统,学习英语就是学习“切换系统”
  • JAVA快捷键
  • 前端实现页面截图及截图内容包含跨域图片时的处理
  • 2025年苗木批发基地供应商口碑榜:前十强深度解析,丝棉木/金森女贞/青叶复叶槭/红叶李/国槐/白蜡/无刺枸骨球苗木批发基地供应商排行榜单
  • 2025 最新免费降 AI 率网站测评!13 款中英文工具实测,哪个最好用?