传送门

对于出题人zxyoizxyoizxyoi先%\%%为敬题目需要龟速乘差评。

题意简述:5e55e55e5组数据,给出n,请你求出所有n位数中有偶数个5的有多少,n≤1e18n\le1e18n≤1e18


思路:一眼数位dpdpdp,哎哟这nnn怎么这么大绝望.jpg

既然是zxyoizxyoizxyoi大毒瘤的题自然要推一推式子了无奈.jpg

考虑对每一位构造生成函数:

  1. 首位:F(x)=8+xF(x)=8+xF(x)=8+x
  2. 非首位:F(x)=9+xF(x)=9+xF(x)=9+x

所以答案就是(8+x)(9+x)n−1(8+x)(9+x)^{n-1}(8+x)(9+x)n−1展开之后所有次数为偶数的项的系数之和。

然后来一波变形:

(8+x)(9+x)n−1=(x+9)n−(x+9)n−1(8+x)(9+x)^{n-1}=(x+9)^n-(x+9)^{n-1}(8+x)(9+x)n−1=(x+9)n−(x+9)n−1

<=>(1+9)n−(−1+9)n2−(1+9)n−1−(−1+9)n−12\frac{(1+9)^n-(-1+9)^n}2-\frac{(1+9)^{n-1}-(-1+9)^{n-1}}22(1+9)n−(−1+9)n​−2(1+9)n−1−(−1+9)n−1​ 使用二项式定理进行变形

<=>10n+8n−10n−1−8n−12\frac{10^n+8^n-10^{n-1}-8^{n-1}}2210n+8n−10n−1−8n−1​

然后常规快速幂感觉挺慢的就上了一波倍增预处理。

代码

2018.12.31 NOIP训练 偶数个5(简单数论)的更多相关文章

  1. 2018.12.31 NOIP训练 czy的后宫6(线性dp)

    传送门 题意简述:给一个nnn个数的数列,你可以把它最多分成mmm段,求每段数之和的最大值的最小值,以及满足这个最小值的时候划分数列的方案数. 思路:第一个问题是二分经典问题,不妨设其答案为limli ...

  2. 2018.12.31 NOIP训练 czy的后宫5(树形dp)

    传送门 题意:给一棵有根树,树有点权,最多选出mmm个点,如果要选一个点必须先选其祖先,问选出来的点权和最大值是多少. 直接背包转移就行了. 代码

  3. 2018.10.31 NOIP训练 锻造(方程式期望入门题)(期望dp)

    传送门 根据题目列出方程: fi=pi∗(fi−1+fi−2)+(1−pi)∗(fi+1+fi)f_i=p_i*(f_{i-1}+f_{i-2})+(1-p_i)*(f_{i+1}+f_i)fi​=p ...

  4. 2018.10.31 NOIP模拟 一串数字(数论+贪心)

    传送门 把每一个数aaa质因数分解. 假设a=p1a1∗p2a2∗...∗pkaka=p_1^{a_1}*p_2^{a_2}*...*p_k^{a_k}a=p1a1​​∗p2a2​​∗...∗pkak ...

  5. 2018.10.15 NOIP训练 hyc的等比数列(数论+枚举)

    传送门 一道不错的枚举题. 显然桶排序之后瞎枚举一波. 考虑枚举首项和末项,假设首项除去一个最大的平方因子得到的结果为xxx. 那么末项一定等于xxx乘上一个平方数. 于是我们枚举首项,算出xxx然后 ...

  6. 2018.12.31 bzoj3771: Triple(生成函数+fft+容斥原理)

    传送门 生成函数经典题. 题意简述:给出nnn个数,可以从中选1/2/31/2/31/2/3个,问所有可能的和对应的方案数. 思路: 令A(x),B(x),C(x)A(x),B(x),C(x)A(x) ...

  7. 2018.11.02 NOIP训练 停车场(线段树)

    传送门 这是一道困饶了我一年的题. 其实就是去年去NOIP提高组试水的时候考的模拟题 但当时我水平不够,跟ykykyk一起杠了一个下午都没调出来. 今天终于AAA了. 其实就是一个维护最长连续0101 ...

  8. 2018.12.31 bzoj4001: [TJOI2015]概率论(生成函数)

    传送门 生成函数好题. 题意简述:求nnn个点的树的叶子数期望值. 思路: 考虑fnf_nfn​表示nnn个节点的树的数量. 所以有递推式f0=1,fn=∑i=0n−1fifn−1−i(n>0) ...

  9. 2018.12.31 bzoj3992: [SDOI2015]序列统计(生成函数+ntt+快速幂)

    传送门 生成函数简单题. 题意:给出一个集合A={a1,a2,...as}A=\{a_1,a_2,...a_s\}A={a1​,a2​,...as​},所有数都在[0,m−1][0,m-1][0,m− ...

随机推荐

  1. FZU2150 :Fire Game (双起点BFS)

    传送门:点我 题意:“#”是草,"."是墙,询问能不能点燃俩地方,即点燃俩“#”,把所有的草烧完,如果可以,那么输出最小需要的时间,如果不行输出-1 思路:暴力BFS,看到n和m都 ...

  2. 179. Largest Number(INT, String)

    Given a list of non negative integers, arrange them such that they form the largest number. For exam ...

  3. PHP之PDO

    PHP之PDO介绍 PDO为何物? POD(PHP Data Object)扩展在PHP5中加入,PHP6中将默认识用PDO连接数据库,所有非PDO扩展将会在PHP6被从扩展中移除.该扩展提供PHP内 ...

  4. java 異常抛出 throw 與 return

    package 異常;    public class TestException {      public TestException() {      }        boolean test ...

  5. python之格式化输出

    字符串格式化有两种方式,%和format 先介绍下%号的方法 #%s的语法结构,叫做占位符,就是先占一个位置,然后我们用真实的要显示的数据替换占位符即可#最简单的用法就是下面的方式,其实%s还有其他的 ...

  6. python requests的content和text方法的区别(转)

    原文地址: http://blog.csdn.net/xie_0723/article/details/51361006 问题: 一直在想requests的content和text属性的区别,从pri ...

  7. iOS 网络操作与AFNetworking

    一.早前的几个网络框架 1.ASI框架: HTTP终结者.很牛, 但是有BUG, 已经停止更新. 2.MKNetworkKit (印度人写的). 3.AFN一直还在更新. AFNetworking的出 ...

  8. InertialNav

    https://github.com/priseborough/InertialNav Instructions To Run Simulink Model Note : Simulink model ...

  9. Json中不支持任何形式的注释,那我们要怎么解决呢

    Json中不支持任何形式的注释,我们可以使用曲线救国的思路:在对象的定义中添加一个key(comment),其对应的value值就是注释填写的语句. 如: { "name":&qu ...

  10. 转换 transform

    转换 定义: 1.转换是使元素改变形状.尺寸和位置的一种效果 2.又称为变形,即,可以向元素应用 2D 或 3D 转换,从而对元素进行旋转.缩放.移动或倾斜 3.2D转换:使元素在 X 轴和 Y 轴平 ...