hdu4506小明系列故事——师兄帮帮忙 (用二进制,大数高速取余)
所以,他如今私下求你帮忙解决这道题目,题目是这种:
给你n个数字,各自是a1,a2,a3,a4,a5……an,这些数字每过一个单位时间就会改变,如果上一个单位时间的数字为a1’,a2’,a3’……an’,那么这个单位时间的数字a[i] = a[i - 1]’ * K(i == 1的时候a[1] = a[n]’ * K),当中K为给定的系数。
如今的问题就是求第t单位时间的时候这n个数字变成了什么了?因为数字可能会非常大,所以仅仅要你输出数字对10^9 + 7取余以后的结果。
每组数据有两行,第一行包括输入三个整数n, t, k,当中n代表数字个数,t代表第t个单位时间,k代表系数;第二行输入n个数字ai,代表每一个数字開始的时候是多少。
[Technical Specification]
T <= 100
1 <= n <= 10 ^ 4
0 <= t <= 10 ^ 9 当中 t = 0 表示初始状态
1 <= k <= 10 ^ 9
1 <= ai<= 10 ^ 9
#include<stdio.h>
#define mod 1000000007
int main()
{int n,m,k,i,t;__int64 aa[60],ans[100005],sum;scanf("%d",&t);while(t--){scanf("%d%d%d",&n,&m,&k);for(i=1;i<=n;i++){scanf("%I64d",&ans[i]);ans[i]%=mod;}int tk=m,ti=0,a[60];while(tk){a[++ti]=tk%2; tk/=2; }aa[1]=k%mod;for(i=2; i<=ti;i++)aa[i]=(aa[i-1]*aa[i-1])%mod;sum=1;for(i=1; i<=ti; i++)if(a[i])sum=(sum*aa[i])%mod;tk=m%n;if(tk)printf("%I64d",(ans[n-tk+1]*sum)%mod),ti=n-tk+1;else printf("%I64d",(ans[1]*sum)%mod),ti=1;if(ti==1)for(i=2;i<=n;i++)printf(" %I64d",(ans[i]*sum)%mod);else{i=ti-1;for(ti++; ti<=n; ti++)printf(" %I64d",(ans[ti]*sum)%mod);for(ti=1;ti<=i; ti++)printf(" %I64d",(ans[ti]*sum)%mod);}printf("\n");}return 0;
}
hdu4506小明系列故事——师兄帮帮忙 (用二进制,大数高速取余)相关推荐
- HDU4506 小明系列故事——师兄帮帮忙
问题链接:HDU4506 小明系列故事--师兄帮帮忙. 问题描述:参见上述链接. 问题分析:(略). 程序说明:函数powermod()是快速模幂函数. AC的C++语言程序如下: /* HDU450 ...
- HDU4506 小明系列故事——师兄帮帮忙【水题】
小明系列故事--师兄帮帮忙 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) To ...
- hdu4506小明系列故事——师兄帮帮忙
小明系列故事--师兄帮帮忙 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) To ...
- 杭电4506小明系列故事——师兄帮帮忙
小明系列故事--师兄帮帮忙 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) To ...
- hdu 4506 小明系列故事——师兄帮帮忙
小明系列故事--师兄帮帮忙 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total ...
- HDU 4506 小明系列故事——师兄帮帮忙
小明系列故事--师兄帮帮忙 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) To ...
- HDU_4506 小明系列故事——师兄帮帮忙
小明系列故事--师兄帮帮忙 2014-8-4 17:22 Problem Description 小明自从告别了ACM/ICPC之后,就开始潜心研究数学问题了,一则可以为接下来的考研做准备,再者可以借 ...
- 杭电-4506小明系列故事——师兄帮帮忙
小明系列故事--师兄帮帮忙 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) To ...
- [HDOJ 4506] 小明系列故事――师兄帮帮忙
题目描述 小明系列故事――师兄帮帮忙 解题思路 找规律,可知每经过n个单位时间,数字又会变回来. 因此只要取余,得到每个数字在t时间后的位置. 结合快速幂就可以直接输出答案了. 参考代码 #inclu ...
最新文章
- 协方差矩阵的实例与意义
- 更改eclipse的Package Explorer的字体
- MySQL基于SSL协议的主从复制
- Blanket PO(总括订单)
- Idea问题:“marketplace plugins are not loaded”解决方案
- Effective Java之注解优于命名模式(三十五)
- 使用Spring跟踪应用程序异常
- kafka mysql事务_【干货】Kafka 事务特性分析
- Dreamweaver中如何格式化代码
- python 的输入 输出
- bzoj 1024 SCOI2009 生日快乐
- 架构师被疯抢,华为出了什么招?
- cmd代码玩贪吃蛇_关于N行贪吃蛇回答的补充
- TCA9539 IO扩展芯片
- 完稿—单片机原理与接口技术
- 愚人节里的巧合与必然:BAT等亮出的AI招牌故事
- 以赛促产 以赛引才 |第六届世界智能大会·中国华录杯数据湖算法大赛正式启动
- 万字攻略,详解腾讯面试
- radius mysql md5_Radius认证
- 【解析无线路由器信号消失原因】
热门文章
- easyui 删除指定行
- LoadRunner11设置场景百分比模式完成多台客户端负载测试
- 3.1 哈尔空间 V0
- “达克效应”让人们信心满满还是畏惧不前?- 更应该是谨慎地冒险
- 如何控制C#Socket的连接超时时间
- [Modules]PrestaShop插件 模块 – 产品推荐模块 随机展示推荐产品
- CSS+DIV-公司网站
- tcm可信密码模块linux,基于可信密码模块的可信电子签名终端设计与实现
- 7.28Assignment
- BZOJ1103: [POI2007]大都市meg