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

ZhengRuiOI 题目整理

Day 1

状压 DP

AT_dp_o

显然。

QOJ 9619

我们随机拆下式子:

\[\sum_{S} \varphi\left (\prod a_i\right ) = \sum_S \prod_{p|\prod a_i} \frac{p - 1}{p} \prod a_i \]

预处理一个 \(h\)

\[h_S = \prod_{p\in S} \frac{p - 1}{p} \]

我们记 \(f_{S}\) 为总的答案,\(g_S\) 为当前 \(\sum\) 里面的那坨东西。然后转移:

\[g_{S\ \lor\ T} \leftarrow (f_S + g_S) a_i \]

\[f_{S} \leftarrow f_S + g_S \]

答案就是 \(f_S\times h_S\)

P1896

这题有很多种做法。

  • 做法一,暴力。设 \(f_{i, j, S}\)\(i\) 行放了 \(S\),总共用了 \(j\) 个国王,\(\mathcal{O}( 4^n n^2)\),精细实现 \(\mathcal{O}( 4^n n)\)
  • 做法二,上面的 \(S\) 转移时不交,所以枚举子补集 \(\mathcal{O}(3^nn)\)
  • 做法三,上面的 \(S\) 转移时状态数是斐波那契数列级别的,所以枚举子补集 \(\mathcal{O}(2.6^nn)\)
  • 做法四,轮廓线 DP,\(\mathcal{O}(2^{n + 1}n^2)\)

P5074 \(/\) HDU1693

轮廓线 DP。

HDU6984

做法一:

  • \(k \ge \sqrt{n}\)\(\bmod k\) 去填,是 \(2^\frac{n}{k}\)
  • \(k\le \sqrt{n}\) 把最后 \(k\) 个压进状态里,暴力转移,有一个 \(2^k\) 的系数。
  • 但是这个做法很不优,有些细节。

做法二:

  • 我们换一种理解,把 \(1\sim k\) 分成一行,把 \(k + 1\sim 2k\) 分成一行,以此类推。
  • 然后轮廓线 DP 来处理这个条件。
  • 状态数只有斐波那数大小,可以更优秀的复杂度。

P4590

类似轮廓线,但是存的是 LCS 的 DP 数组,这种技巧被称为 DP 套 DP。

从前往后验证整个串的答案,类似自动机的思想来构造状态和转移。

数位 DP

P4127

经典数字和按同余。

CF1994G

CF1290F

AT_arc085_d [ARC085F]

http://www.sczhlp.com/news/1599/

相关文章:

  • python deepcopy
  • 我这博客也太唐了
  • 实用指南:图论基本算法
  • python 队列的使用
  • Java核心类——4.包装类型
  • BSC链验证者添加完整流程详解:从StakeHub到Snapshot的完整链路 - 若
  • Windows操作开机启动BAT文件
  • 千万
  • 仿射变换
  • 伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 02 - Rainbow
  • 【IEEE冠名、香港中文大学(深圳)主办】第五届IEEE能源工程与电力系统国际学术会议(IEEE-EEPS 2025)
  • 【学习笔记】高等数学
  • ECS中实现Nginx四层和七层负载均衡以及ALB/NLB实现负载均衡
  • spring boot 日志增加 Trace Id (异步、任务都能支持)
  • 图像生成-Continuous Normalizing Flows(NFs)连续归一化流-07 - jack
  • 酵母文库:探索基因奥秘的有力工具
  • 【欧拉路】学习笔记
  • kafka 日志存储与查询
  • 基于MATLAB的不规则波下结构物波浪力计算
  • Slope Trick
  • ASP.NET WebForms调用ASMX的WebService接口
  • 透视畸变和单应性变换
  • JavaScript中的数据类型以及存储上的差别
  • webstorm关于git很慢的处理
  • 手工测试向左,测试开发向右
  • 设计汽车集群电源 - 详解
  • kafka rocketmq 零拷贝
  • 淀粉质(点分治)总结
  • MATLAB的图像融合方法:IHS、PCA、拉普拉斯、PCNN、小波
  • 基于YOLOv8的有无戴安全帽检测识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!