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

「KDOI-07」能量场

https://www.luogu.com.cn/problem/P10881

神仙题啊。

首先可以选择一个环,然后缩掉环后就是一个树,可以使用矩阵树定理。复杂度 \(O(2^nn^3)\)

考虑矩阵树定理的式子 \(\det(D-A)\),其中 \(A_{i,j}=a_i+a_j\)\(D\) 只在对角线上有值,然后发现 \(A\) 的秩 \(\le 2\),于是把行列式展开成 \(\sum\limits_{p} (-1)^{inv(p)}(D_{i,p_i}-A_{i,p_i})\),考虑括号选择 \(A_{i,p_i}\) 这一项的 \(i\) 的集合为 \(S\),则其余一定满足 \(i=p_i\),然后如果 \(|S|\ge 3\),由于 \(A\) 的秩 \(\le 2\),于是它的贡献为 \(0\)。于是满足 \(i\neq p_i\) 至多有两个,可以暴力枚举。

如果 \(|S|=1\),选择一个 \(i\),则贡献为 \(-2A_{i,i} \prod\limits_{j \neq i} D_{j,j}\),如果选择 \(i,j\),则贡献为 \((A_{i,i}A_{j,j}-A_{i,j}A_{j,i})\prod\limits_{z \neq i,j} D_{z,z}\)。把前面展开一下就是 \((2a_ia_j-a_i^2-a_j^2) \prod\limits_{z \neq i,j} D_{z,z}\)

复杂度 \(O(2^nn^2)\)

由于此时计算行列式的方式足够简单,所以可以塞到 dp 里,在 dp 时计算。接下来看一下怎么计算环,对于一个环,显然 \(a_i\) 会贡献 \(1,a_i,a_i^2\),然后显然贡献 \(a_i^2\)\(i\) 数量和贡献 \(1\) 的数量相等,然后如果要把 \(0,1,2\) 三种指数排成一个环的话,相当于去除 \(1\) 之后 \(0,2\) 交替出现。然后这个方案数是容易的。

于是可以设计 \(f_{i,a,b,c,op}\) 表示 dp 到第 \(i\) 个数,钦定在环里的点指数为 \(0,1,2\) 的分别出现 \(a,b,c\) 个,\(op\) 表示行列式里 \((2a_ia_j-a_i^2-a_j^2)\) 的贡献状态,显然 \(op\) 的大小是 \(O(1)\) 的。

这样可以 \(O(1)\) 转移,复杂度 \(O(n^4)\)

http://www.hskmm.com/?act=detail&tid=13106

相关文章:

  • 基于LQR控制器的柔性机械臂抑振
  • 202507_QQ_caidundun
  • 国内企业邓白氏编码免费申请流程
  • 在CodeBolcks下wxSmith的C++编程教程——wxSmith教程目录(序言)
  • 生命周期
  • CF1893D Colorful Constructive 题解
  • C#通过15位或者18位身份证判断性别年龄
  • 深入解析:​​XMedia Recode 全能视频音频转换与编辑工具
  • MySQL同步ES的 5 种方案
  • 如何支持高并发高吞吐量编程
  • outlook大附件发送是什么?
  • 好用的提示词
  • 202312_Dest0g3_StrageTraiffic
  • 2025年内外网文件传输新范式:十大好用的内外网文件摆渡系统
  • 双分布函数热 LBM 模拟二维封闭方腔自然对流
  • asp.net中的wwwroot是什么
  • 用光学计算加速AI模型中的卷积和矩阵乘法操作
  • 了解IWebHostEnvironment : IHostEnvironment
  • PDF24 Creator(完全免费多功能PDF工具箱) 易于使用 多语言支持 - 教程
  • 彩笔运维勇闯机器学习--lasso回归
  • IP地址的配置
  • 【2025-09-21】连岳摘抄
  • 矩阵、线性代数 - 指南
  • 【2025-09-20】经营套路
  • 基于 uni-app 开发的废品回收类多端应用功能与界面说明
  • 方案汇总
  • 基于相空间重构的混沌时间序列预测MATLAB实现
  • SAP的‘CORRESPONDING’关键字
  • SQL Server 定时作业
  • 202504_CHIMA模拟_Shiro流量分析