很久以前做过此类问题..就因为太久了..这题想了很久想不出..卡在推出等比的求和公式,有除法运算,无法快速幂取模...

看到了

http://blog.csdn.net/yangshuolll/article/details/9247759

才想起等比数列的快速幂取模....

求等比为k的等比数列之和T[n]..当n为偶数..T[n] = T[n/2] + pow(k,n/2) * T[n/2]

n为奇数...T[n] = T[n/2] + pow(k,n/2) * T[n/2] + 等比数列第n个数的值

比如 1+2+4+8 = (1+2) + 4*(1+2)

1+2+4+8+16 = (1+2) + 4*(1+2) + 16

Program:

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<set>
#include<algorithm>
#include<cmath>
#define oo 1000000007
#define ll long long
#define pi acos(-1.0)
#define MAXN 505
using namespace std;
char s[100004];
ll m;
ll POW(ll a,ll k)
{ll x,ans=1;x=a;while (k){if (k%2) ans=(ans*x)%oo;x=(x*x)%oo;k/=2;}return ans;
}
ll T(ll n,ll t)
{if (n==1) return t;ll data=T(n/2,t);data=(data+data*POW(m,n/2))%oo;if (n%2) data=(data+POW(m,(n-1))*t)%oo;return data;
}
int main()
{ int k,i;ll ans,x,len; while (~scanf("%s",s)){scanf("%d",&k);len=strlen(s);m=POW(2,len);ans=0;x=1;for (i=0;i<len;i++){if (s[i]=='0' || s[i]=='5')ans=(ans+x)%oo;  // 不要每次都做..加起来x=(x*2)%oo;}ans=T(k,ans);  // 只做一次printf("%I64d\n",ans);}return 0;
}

CodeForces Round #191 (327C) - Magic Five 等比数列求和的快速幂取模相关推荐

  1. 2019河北省大学生程序设计竞赛(重现赛)B 题 -Icebound and Sequence ( 等比数列求和的快速幂取模)...

    题目链接:https://ac.nowcoder.com/acm/contest/903/B 题意: 给你 q,n,p,求 q1+q2+...+qn 的和 模 p. 思路:一开始不会做,后面查了下发现 ...

  2. c语言的幂乘积表达式,POJ 1845 Sumdiv [素数分解 快速幂取模 二分求和等比数列]

    大致题意: 求A^B的所有约数(即因子)之和,并对其取模 9901再输出. 解题基础: 1) 整数的唯一分解定理: 任意正整数都有且只有一种方式写出其素因子的乘积表达式. ,其中 为素数 2) 约数和 ...

  3. 等比数列求和 (快速幂 + 逆元)

    求一个等比数例之和, 并让他对一个数取模. 用到等比数列求和公式, 快速幂, 逆元. 不会证明, 下面给出代码. #include <stdio.h> #include <strin ...

  4. Codeforces Round #324 (Div. 2) B. Kolya and Tanya 快速幂

    B. Kolya and Tanya Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/584/pro ...

  5. 贪心 Codeforces Round #191 (Div. 2) A. Flipping Game

    题目传送门 1 /* 2 贪心:暴力贪心水水 3 */ 4 #include <cstdio> 5 #include <algorithm> 6 #include <cs ...

  6. math_等差数列/等比数列求和推导等幂和差推导/两个n次方数之差与等价无穷小实例/求和符号的性质和应用

    文章目录 math_等比数列求和推导&等幂和差推导/两个n次方数之差 等差数列

  7. Educational Codeforces Round 16 C. Magic Odd Square 矩阵构造

    传送门 文章目录 题意: 思路: 题意: 给你一个奇数nnn,让你构造一个n∗nn*nn∗n的矩阵,矩阵的每个位置依次填上[1,n∗n]之内的数[1,n*n]之内的数[1,n∗n]之内的数,满足每行. ...

  8. Codeforces Round #191 (Div. 2)

    好久没写过CF的博客了,最近忙着考试,各种不顺,没想到这次CF却是很顺利. A题暴力,开始看错题了..然后发现只需要转一次...B题也是暴力去构造的,C题一个组合问题,话说这次终于在比赛里把组合题给A ...

  9. Codeforces Round #191 (Div.2) 题解

    A B C D E 这场打的很爽,题目质量很高. A 给一个01序列,能将一个子串取反,求整个序列的最多1的个数. 数据范围很小,暴力枚举所有子串取反,求最大的值即可. #include<bit ...

最新文章

  1. AI转型业绩哪家强?联想一季度营收853亿,净利11亿
  2. hdu1032 Train Problem II (卡特兰数)
  3. 数据挖掘:分享两个Pandas使用小陷阱
  4. Python__getattr__、__setattr__、__delattr__、__getitem__、__setitem__、__getattribute__方法的理解
  5. oracle cloud认证费用,ORACLE Cloud 创建实例费用提问
  6. 商标注册流程与注意事项
  7. 介绍一个日志记录函数
  8. python绘制混淆矩阵
  9. 整理最新java面试宝典2019
  10. 网友对各种杀软的评价诗歌
  11. 第九届蓝桥杯本科Java B组题解【省赛】
  12. NAND Flash内部结构简介
  13. 软件工程:可行性分析,需求分析思维导图
  14. express項目部署阿里云服务器
  15. python怎么判断等于_python中怎么判断不等于
  16. 电脑上不去无线网如何解决
  17. 服务器进系统后键盘鼠标一卡一卡的,windows10系统鼠标卡顿的处理方法
  18. tickeys 1.1.0 中文版 (键盘打字音效模拟)
  19. 新建网站如何跟服务器连接,flashfxp怎么用(新建添加网站[站点]连接)
  20. 大家在人生低谷时有多惨,怎么熬过来的(四)

热门文章

  1. 机器人水下赌场争霸战!中国团队创造历史,在美国登顶世界第一
  2. Kafka消息系统基础知识索引消息
  3. 数学建模笔记2方法分类
  4. andorid actionBar
  5. Oracle PLSQL Demo - 04.数字FOR LOOP循环[NUMBERABLE (FOR) LOOP]
  6. Server系列18:如何通过组策略赋予domain user受限网络管理权限?
  7. 监控PGA最大空间、分配
  8. Undelete Plus 2.53
  9. ASP.NET 2.0 – 善用DataSourceMode属性 (转自章立民CnBlogs)
  10. [网文摘录]云计算平台管理