\(CF717\ Festival\ Organization\)

Description

一个合法的串定义为:长度在 \([l,r]\) 之间,且只含 \(0,1\),并且不存在连续 \(2\) 个或更多的 \(0\)。

现在要选出 \(k\) 个长度相同的合法的串,问有几种选法,答案模 \(10^9+7\)。

Solution

初始形式比较易得

\[\sum_{i=l+2}^{r+2}\binom{fib_i}{k}
\]

开始化式子

\[\sum_{i=l+2}^{r+2}\frac{fab_i^{\underline{k}}}{k!}
\\
\frac{1}{k!}\sum_{i=l+2}^{r+2}fab_i^{\underline{k}}
\\
\frac{1}{k!}\sum_{i=l+2}^{r+2}\sum_{j=0}^k {k\brack j}fab_i^j
\\
\frac{1}{k!}\sum_{j=0}^k{k \brack j}\sum_{i=l+2}^{r+2}fab_i^j
\]

这个时候其实已经可以枚举 \(j\),然后跑 \(k\) 遍矩阵快速幂了,但是应该过不了。

\[A=\frac{1+\sqrt 5}{2},B=\frac{1-\sqrt 5}{2}
\\
fab_n=A^n-B^n
\\
\frac{1}{k!}\sum_{j=0}^k{k \brack j}\sum_{i=l+2}^{r+2}(A^i-B^i)^j
\\
\frac{1}{k!}\sum_{j=0}^k{k \brack j}\sum_{i=l+2}^{r+2}\sum_{z=0}^j\binom{j}{z}A^{iz}\times B^{(j-z)i}
\]

考虑后面的那个式子

\[\sum_{i=l+2}^{r+2}\sum_{z=0}^j\binom{j}{z}A^{iz}\times B^{(j-z)i}
\\
\sum_{z=0}^j\binom{j}{z}\sum_{i=l+2}^{r+2}(A^{iz} B^{(j-z)i})
\\
\sum_{z=0}^j\binom{j}{z}\sum_{i=l+2}^{r+2}(A^{z} B^{(j-z)})^i
\]

这个是一个等比数列求和公式。

发现 \(5\) 在 \(\mod 1\times 10^9+7\)不存在二次剩余,好,我们扩域

感觉扩域这个手段还是比较常见的?

我们把所有的数字都用 \(a+b\times \sqrt{5}\)表示

我们就可以把所有的数字用一个类似复数的东西表示了

乘法运算类比复数

除法

\[\frac{a+b\sqrt 5}{c+d\sqrt{5}}=\frac{(a+b\sqrt5)(c-d\sqrt 5)}{(c+d\sqrt 5)(c-d\sqrt 5)}=\frac{a\times c-5\times b\times d+(b\times c-a\times d)\sqrt 5}{c^2-5\times d^2}
\]

CF717 Festival Organization的更多相关文章

  1. CF717A Festival Organization(第一类斯特林数,斐波那契数列)

    题目大意:求 $\sum\limits_{n=l}^{r}\dbinom{f_n}{k}\bmod 10^9+7$.其中 $f_n$ 是长度为 $n$ 的 $01$ 序列中,没有连续两个或超过两个 $ ...

  2. CF 717A Festival Organization——斯特林数+递推求通项+扩域

    题目:http://codeforces.com/contest/717/problem/A 是 BJOI2019 勘破神机 的弱化版. 令 \( g[i] \) 表示长为 i .以 1 结尾的方案数 ...

  3. @codeforces - 717A@ Festival Organization

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 一个长度为 n 的 01 序列是好的,当且仅当该序列任意两个 0 ...

  4. Organization SYMMETRIC MULTIPROCESSORS

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION Figure 17.4 depicts i ...

  5. Symmetric Multiprocessor Organization

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

  6. Microsoft CRM 2013 设置默认组织 default organization

    Microsoft CRM 2013 在部署管理器里没有设置默认组织的功能(以前4.0是有的),所以如果安装了多组织并且某些用户在多组织里同时存在这就涉及默认组织的设置问题,或者在安装outlook ...

  7. [BZOJ2788][Poi2012]Festival

    2788: [Poi2012]Festival Time Limit: 30 Sec  Memory Limit: 64 MBSubmit: 187  Solved: 91[Submit][Statu ...

  8. HDU1850 Being a Good Boy in Spring Festival(博弈)

    Being a Good Boy in Spring Festival Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I ...

  9. Computer architecture Computer organization

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCEComputer architectureNINTH EDITION C ...

随机推荐

  1. 手把手教你 bash中给变量赋值时 ' 和 " 和 ` 和 $() 的使用

    1.赋值指令 var='变量内容' var="变量内容" var=`command` var=$(command) var=变量内容 2.格式要求 =两边不能有空白字符 错误示例 ...

  2. 【算法】堆排序(Heap Sort)(七)

    堆排序(Heap Sort) 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法.堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父 ...

  3. 脚踏实地的Netty源码研究笔记——开篇

    1. 脚踏实地的Netty源码研究笔记--开篇 1.1. Netty介绍 Netty是一个老牌的高性能网络框架.在众多开源框架中都有它的身影,比如:grpc.dubbo.seata等. 里面有着非常多 ...

  4. 105_Power Pivot财务科目(层级深度&筛选深度)

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 1.背景 在财务科目中,需要按照科目层级来显示:在excel中都是用公式来实现,而且对于数据的管理及更新是一件头痛的事情, ...

  5. .NET Core 读取配置技巧 - IOptions<TOptions> 接口

    原文链接:https://www.cnblogs.com/ysmc/p/16307804.html 在开发过程中,我们无法离开配置文件(appsetting.json),例如配置文件中有以下内容: { ...

  6. springBoot 定时+发送邮件

    定时任务引入meaven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifa ...

  7. 解决WIN7无法安装高版本Node.js问题

    网上很多文章都让去安装低版本node 由于业务需求,低版本node npm 有一些包支持的不好 npm出cb() never call 本着更新npm 顺带弄个高版本的node 单独更新npm npm ...

  8. 写了个基于 MacOS + iTerm2 自动打开窗口执行命令的工具

    大家好,我是秋风,今天要给大家带来的这个工具是我最近写的 一个 npm 工具.mmt 是基于 MacOS + iTerm2 ,目的主要是为了提高日常生活中的效率,接下来我带大家看看一些常用的一些场景. ...

  9. 封装环形加载进度条(Vue插件版和原生js版)

    1.效果预览 2.用到的知识 主要利用SVG的stroke-dasharray和stroke-dashoffset这两个属性. 在看下面文章之前,你需要了解 <!DOCTYPE html> ...

  10. canvas简易画布

    今天学习了canvas,利用它做了一个简易版的画板,校验自己所学的知识,分享出来以供大家学习指教.先上效果图. 主要是使用了canvas的stroke和clearReact来实现画板的绘画和橡皮擦功能 ...