2480: 神奇的序列

时间限制: 4 Sec  内存限制: 256 MB

提交: 31  解决: 15

[提交][状态][讨论版]

题目描述

序列a如下:

a[0] = A;

a[1] = B;

a[i] = a[pp] * a[qq]; ( i>=2,pp = 向下取整(i/k1),qq = 向下取整(i/k2) )

有Q次询问,每次询问输入pos,请输出a[pos]%mod。

输入

第一行输入五个整数A,B,k1,k2,mod。

第二行输入一个整数Q。

接下来Q行每行输入一个整数pos。

1<=A<=100

1<=B<=100

2<=k1,k2<=1e14

1<=mod<=1e9+7

1<=Q<=100000

1<=pos<=1e14

输出

输出Q行,每行表示a[pos]%mod。

样例输入

45 87 2 5 1000000007
11
0
1
2
3
4
5
6
7
8
9
10

样例输出

45
87
3915
3915
176175
340605
340605
340605
15327225
15327225
333468568

提示

来源

周甄陶


———————————————————————————————————
思路:记忆化搜索

#include <iostream>
#include <cstdio>
#include <cmath>
#include <map>
#include <set>
using namespace std;
#define LL long long LL a,b,k1,k2,mod;
map<LL,LL>mp;
set<LL>s; LL f(LL n)
{
if(s.count(n)==1)
return mp[n];
if(n==0)
{
mp[0]=a;
return a;
}
if(n==1)
{
mp[1]=b;
return b;
}
LL x=f(n/k1)*f(n/k2)%mod;
if(s.count(x)==0)
{
mp[n]=x;
s.insert(n);
}
return x;
} int main()
{
int q;
LL n;
while(~scanf("%lld%lld%lld%lld%lld",&a,&b,&k1,&k2,&mod))
{
mp.clear(),
s.clear();
scanf("%d",&q);
while(q--)
{
scanf("%lld",&n);
LL ans=f(n);
printf("%lld\n",ans);
}
}
return 0;
}

ZUFE2480: 神奇的序列 2017-05-12 16:45 39人阅读 评论(0) 收藏的更多相关文章

  1. ZUFE2481 神奇的字符串 2017-05-12 16:41 39人阅读 评论(0) 收藏

    2481: 神奇的字符串 时间限制: 3 Sec  内存限制: 256 MB 提交: 8  解决: 3 [提交][状态][讨论版] 题目描述 输入 输出 样例输入 abcb 1000 1100 350 ...

  2. 使用LAMP创建基于wordpress的个从博客网站 分类: B3_LINUX 2014-07-15 16:45 800人阅读 评论(0) 收藏

    参考: http://blog.csdn.net/ck_boss/article/details/27866117 一.mysql配置 1.安装mysql yum install mysql-serv ...

  3. iOS开发~CocoaPods使用详细说明 分类: ios相关 2015-04-01 16:45 68人阅读 评论(0) 收藏

    iOS开发-CocoaPods使用详细说明 一.概要 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来 ...

  4. HRBUST1313 火影忍者之~静音 2017-03-06 16:11 39人阅读 评论(0) 收藏

    火影忍者之-静音 传说中的火之国一年一度的公务员选拔又开始了!木叶忍者村此次也要从中选拔出5人来,作为即将上任的新火影纲手的小弟-,可是报考公务员的人数实在是太--多啦!所以纲手的贴身随从-静音小姐, ...

  5. JavaScript中的一些细节 分类: C1_HTML/JS/JQUERY 2014-08-05 16:45 384人阅读 评论(0) 收藏

    1.设置id / class等属性 用 setAttribute 设置一些常规属性如 id ,className 的时候经常不起作用,只能用 object.id = value 这样来设置 news_ ...

  6. HRBUST1315 火影忍者之~大战之后 2017-03-06 16:14 54人阅读 评论(0) 收藏

    火影忍者之-大战之后 经历了大战的木叶村现在急需重建,人手又少,所以需要尽可能多的接受外来的任务,以赚取报酬,重建村庄,假设你现在是木叶的一名高级忍者,有一大堆的任务等着你来做,但毕竟个人时间有限,所 ...

  7. Mahout快速入门教程 分类: B10_计算机基础 2015-03-07 16:20 508人阅读 评论(0) 收藏

    Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现.分类.聚类等.Mahout最大的优点就是基于hadoop实现,把很多以前运行于单 ...

  8. IBM Rational AppScan 无法记录登录序列 分类: 数据安全 2015-03-18 16:46 158人阅读 评论(0) 收藏

    为了测试漏洞,我在本地部署了一个站点,为http://localhost/app,并且有登录页面. 但是尝试多次,都无法记录登录页面.此时尝试了在hosts文件中,自定义了一个域名 127.0.0.1 ...

  9. 网上关于sort结构体排序都不完整,我来写一个完整版的 2014-08-09 16:50 60人阅读 评论(0) 收藏

    主要参考sort函数_百度文库, 但是那篇有错误 2.结构体排序,a升,b降,c降 平板视图 打印? 01 #include <iostream> 02 #include <algo ...

随机推荐

  1. Magento2 php商城在windows10上安装

    magento2 下载地址:https://github.com/magento/magento2/archive/develop.zip 参考地址: 版本要求 这个magento2  要选择好php ...

  2. 《大道至简》第一章--编程的精意 读后感(JAVA伪代码)

    1. /*愚公移山 原始需求:惩山北之塞,出入之迂: 项目沟通:聚室而谋曰: 项目目标:毕力平险,指通豫南,达于汉阴: 技术方案:扣石垦壤,箕畚运于渤海之尾: 人员构成:愚公率子孙荷担者三夫,邻人京城 ...

  3. js的回调函数详解

    本文主要介绍了个人对于javascript中回调函数的理解和使用方法及示例,需要的朋友可以参考下   现在做native App  和Web App是主流,也就是说现在各种基于浏览器的web app框 ...

  4. virtaulbox docker虚拟机使用主机代理shandowsocks

    1.virtaulbox 配置NatNetwork File->Preference->network->add new nat network 2.virtaulbox 虚拟机配置 ...

  5. iOS.FBTweak

    FBTweak的源码分析 1. FBTweak提供了以下功能 A): 可以动态的修改某个变量的值,这些变量的类型包括: ... B): 可以以plist的形式将Tweak以key-value的形式进行 ...

  6. 差异表达分析之FDR

    差异表达分析之FDR 随着测序成本的不断降低,转录组测序分析已逐渐成为一种很常用的分析手段.但对于转录组分析当中的一些概念,很多人还不是很清楚.今天,小编就来谈谈在转录组分析中,经常会遇到的一个概念F ...

  7. LaTeX数学公式大全

    原写于我的洛谷博客(传送门),现搬到这个博客上. 建议去洛谷博客上看,因为两边的编辑器在有些功能上不能通用,所以之后若有删改或新增内容只在洛谷博客上弄,这边就懒得改了. 原本是针对洛谷的编辑器,不过懒 ...

  8. codeforces round#509

    博主水平不高, 只能打完$4$题, QAQ什么时候才能变强啊嘤嘤嘤 订正完6题了,  还想打今天下午的CF , 只能迟十分钟了, 掉分预定 A. Heist 输出 $max - min + n - 1 ...

  9. a[i++]

    今天才知道,a[i++]到底是什么意思:: 其实也很简单了,就是a[i]的值还是a[i],然后i自增1: 把这篇博客当作平常各种错题博客吧,把各种从网上抄的代码不懂的地方写到这个地方算了 ====== ...

  10. Homestead 修改 Homestead.yaml 文件后 vagrant up 报错的问题

    一般情况是 TAB 和空格的问题. 虽然表面看来,缩进是一致的. 但是 TAB 没能替换为空格,从而导致问题. 解决: $ sudo vim /etc/vim/vimrc.local syntax o ...