首页 > 其他分享 >2024.6 做题记录

2024.6 做题记录

时间:2024-06-18 20:00:18浏览次数:10  
标签:le frac 2024.6 limits 记录 sum sqrt deg

395. CF717A Festival Organization & P5320 [BJOI2019] 勘破神机

396. square869120Contest #3 G Sum of Fibonacci Sequence

特判 \(n = 1\)。将 \(n, m\) 都减 \(1\),答案即为

\[[x^m]\frac{1}{(1 - x - x^2)(1 - x)^n} \]

若能把这个分式拆成 \(\frac{A(x)}{(1 - x)^n} + \frac{B(x)}{1 - x - x^2}\) 的形式,其中 \(\deg A(x) \le n - 1, \deg B(x) \le 1\),那么答案就是好算的。

先考虑怎么求出一组合法的 \(A(x), B(x)\),满足 \(A(x)(1 - x - x^2) + B(x)(1 - x)^n = 1\)。因为 \(\deg B(x) \le 1\) 所以它比较好求,所以先求 \(B(x)\)。前面那个式子可以看成是对所有 \(x\) 都成立,那么我们代入 \(1 - x - x^2\) 的两个根 \(x_1 = \frac{-1 - \sqrt 5}{2}\) 和 \(x_2 = \frac{-1 + \sqrt 5}{2}\),得到:

\[\begin{cases} B(x_1)(1 - x_1)^n = 1 \\ B(x_2)(1 - x_2)^n = 1 \end{cases} \]

因为 \(\deg B(x) \le 1\) 所以这样可以直接解出 \(B(x)\)。

注意我们现在讨论的都是实数,实现时可以把每个数都用 \(a + b \sqrt 5\) 表示,封装一个结构体即可。

解出 \(B(x)\) 后可以解 \(A(x)\):

\[A(x) = \frac{1 - B(x)(1 - x)^n}{1 - x - x^2} \]

因为能除尽,所以可以直接暴力大除法。

那么此时答案即为:

\[[x^m] \frac{A(x)}{(1 - x)^n} + [x^m] \frac{B(x)}{1 - x - x^2} \]

先看左半部分:

\[[x^m] \frac{A(x)}{(1 - x)^n} = \sum\limits_{i \ge 0} [x^i] A(x) \times [x^{m - i}] \frac{1}{(1 - x)^n} = \sum\limits_{i \ge 0} [x^i] A(x) \times \binom{n + m - i - 1}{n - 1} \]

组合数可以 \(O(n)\) 预处理前缀积和后缀积后 \(O(1)\) 计算。

再看右半部分(\(f_m\) 为斐波那契数列的第 \(m\) 项):

\[[x^m] \frac{B(x)}{1 - x - x^2} = [x^m] \frac{ax + b}{1 - x - x^2} = af_m + bf_{m + 1} \]

\(f_n\) 可以直接套通项公式计算:

\[f_n = \frac{\sqrt 5}{5} (\frac{1 + \sqrt 5}{2})^n - \frac{\sqrt 5}{5} (\frac{1 - \sqrt 5}{2})^n \]

那么这题就做完了。时间复杂度 \(O(n + \log m)\)。

397. BZOJ4671 异或图

设 \(f_i\) 为钦定 \(i\) 个集合两两无边的方案数(即钦定有 \(i\) 个连通块的方案数),设 \(g_i\) 为恰好有 \(i\) 个连通块的方案数,则:

\[f_i = \sum\limits_{j = i}^n {j \brace i} g_j \]

根据斯特林反演,得:

\[g_i = \sum\limits_{j = i}^n (-1)^{j - i} \begin{bmatrix} j \\ i \end{bmatrix} f_j \]

所以:

\[ans = g_1 = \sum\limits_{i = 1}^n (-1)^{i - 1} (i - 1)! f_i \]

问题转化为求 \(f_i\)。

发现 \(n\) 很小,考虑直接枚举哪些点被分到了一个集合(这里的枚举量是贝尔数级别的),设有 \(m\) 个集合。那么每一条两端所属集合不同的边都必须被选偶数次。

设编号为 \(b_{i, 1}, b_{i, 2}, \ldots, b_{i, k}\) 的图包含第 \(i\) 条两端所属集合不同的边,\(a_i\) 为第 \(i\) 个图是否在子集中,那么会得到一个形如 \(\forall i, a_{b_{i, 1}} \oplus a_{b_{i, 2}} \oplus \cdots \oplus a_{b_{i, k}} = 0\) 的异或方程组,高斯消元求其自由元个数 \(c\),那么这种划分方案对 \(f_m\) 有 \(2^c\) 的贡献。

总时间复杂度 \(O(B_n n^2 (s + n^2))\)。

398. P5748 集合划分计数

显然每个盒子的 EGF 为 \(F(x) = e^x - 1\)。答案的 EGF 为 \(G(x) = e^{F(x)}\)。

标签:le,frac,2024.6,limits,记录,sum,sqrt,deg
From: https://www.cnblogs.com/zltzlt-blog/p/18255012

相关文章

  • 学习记录APP
    1、用户注册:用户注册信息包括用户ID(学号)、用户名(姓名),手机号码,用户单位(班级),用户班级四项基本信息,用户第一次注册后,用户姓名不用每次输入。2、设定每周学习目标:每周一设置学习目标。例如:本周完成数据库连接等等具体任务目标。3、每日学习记录:内容包括:开始时间、结束时间,每日学习......
  • 学习记录
     1.用户注册 用户可以通过注册功能创建自己的账户。注册信息包括以下内容:-用户ID(学号)-用户名(姓名)-手机号码-用户单位(班级)   首次注册后,用户的姓名将被记录,无需每次输入。    2.设定每周学习目标 每周一,用户可以设定学习目标,包括具体的任务目......
  • 记录--createObjectURL这个API真好用,我举几个场景你们就懂了
    ......
  • sql注入之联合查询的学习记录
    我本人也是一个小白有什么错误的地方希望大佬可以指出,有什么疑问也可以留言,希望可以互相交流学习一下。 sql注入经典之联合注入关于联合注入是sql注入中最经典的也是大部分初学ctf的师傅们最开始接触的注入方式测试注入点首先在注入的时候都需要先测试一下注入点?id=1'o......
  • Ragas实践问题记录1 ValueError: Directory ./arxiv-papers/ does not exist.
    纯小白,记录一下在尝试ragas时遇到的一些问题。尝试官方文档“CompareLLMsusingRagasEvaluations”时,在Createsynthetictestdata步骤复制github中的代码时,遇到了以下问题:ragas官方文档查看请点此解决方法是前往openxlab下载数据集,再使用本地的路径替换掉报错的地方......
  • Ragas实践问题记录2 AttributeError: ‘TestsetGenerator‘ object has no attribute
    报错问题依然是在尝试官方文档“CompareLLMsusingRagasEvaluations”的“Createsynthetictestdata”步骤发生报错。官方文档以及文档中代码如下:Ragas:CompareLLMsusingRagasEvaluations官方文档中的代码:importosfromllama_indeximportdownload_loader,Simp......
  • 项目运维时,某用户通过RDP远程桌面连接服务器...任务管理器显示用户状态断开连接!记录运
    目录问题出现解决方式测试参考  今天处理项目运维问题,发现服务器任务管理器出现用户状态断开连接......问题出现项目运维时,某用户通过rdp远程桌面连接Windowsserver服务器时,出现服务器发布的进度计划无法执行,打开服务器任务管理界面出现用户状态断开连接标志,如下......
  • java 使用Log4j进行日志记录
    要在Java项目中使用Log4j进行日志记录,需要经过以下步骤:添加Log4j依赖:在项目的pom.xml文件中,添加Log4j依赖。例如:<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>创建Log4j配置文件:......
  • 2024.6.17鲜花/错误的号码
    XY星的星际新闻报一直不太畅销,所以报纸上会有一些广告,毕竟星际新闻局的非机器人员工也得吃饭。有一则广告是这样的:【数据删除】研学基地位于【数据删除】,该研学基地致力于让学生体验一个幻想纪前的生活并培养学生不借助现代高科技的群居生活能力。该研学基地将于幻想历元年六......
  • Asp.net core依赖注入服务生存期踩坑记录
    Asp.netcore依赖注入服务生存期踩坑记录写在开头今天我本想实现组件全局共享数据(状态管理),保存工厂名,用户登录id,设备编码等字段,以便全局共享。但我在a组件设置的值到了b组件就不见了。遇到的问题,与依赖注入服务生存期有关,我们知道依赖注入服务一共有三种:AddScoped:作用域Add......