杭电-4506小明系列故事——师兄帮帮忙
小明系列故事——师兄帮帮忙
所以,他现在私下求你帮忙解决这道题目,题目是这样的:
给你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<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define mode 1000000007
using namespace std;
__int64 quickm(__int64 x,__int64 y)
{__int64 q=1;while(y){if(y&1)q=q*x%mode;x=x*x%mode;y/=2;}return q%mode;
}
int main()
{__int64 i,m,n,j,t,k,a[12005],b[12005],x;scanf("%I64d",&m);while(m--){scanf("%I64d%I64d%I64d",&n,&t,&k);for(i=0;i<n;i++)scanf("%I64d",&a[i]);for(i=0;i<n;i++){__int64 x=quickm(k,t);x=x*a[i]%mode;b[(t+i)%n]=x; }for(i=0;i<n-1;i++)printf("%I64d ",b[i]);printf("%I64d\n",b[n-1]);}return 0;
}
杭电-4506小明系列故事——师兄帮帮忙相关推荐
- 杭电4506小明系列故事——师兄帮帮忙
小明系列故事--师兄帮帮忙 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) Total Submission ...
- 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 ...
- [HDOJ 4506] 小明系列故事――师兄帮帮忙
题目描述 小明系列故事――师兄帮帮忙 解题思路 找规律,可知每经过n个单位时间,数字又会变回来. 因此只要取余,得到每个数字在t时间后的位置. 结合快速幂就可以直接输出答案了. 参考代码 #inclu ...
- HDU4506 小明系列故事——师兄帮帮忙
问题链接:HDU4506 小明系列故事--师兄帮帮忙. 问题描述:参见上述链接. 问题分析:(略). 程序说明:函数powermod()是快速模幂函数. AC的C++语言程序如下: /* HDU450 ...
- HDU4506 小明系列故事——师兄帮帮忙【水题】
小明系列故事--师兄帮帮忙 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之后,就开始潜心研究数学问题了,一则可以为接下来的考研做准备,再者可以借 ...
- hdu4506小明系列故事——师兄帮帮忙
小明系列故事--师兄帮帮忙 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) To ...
最新文章
- 【SpringBoot Testing】测试类/测试用例格式
- ae导出json_关于AE转json动画开发避坑指南
- [Vue源码分析]谷歌翻译后,Vue双向数据绑定失效了?
- @JsonFormat失效解决
- 机器学习基石-作业三-第2题分析以及通过H证明EIN的讨论
- arcgis重心迁移分析_锂电池行业分析:从工艺、成本及供需角度看三元材料高镍化趋势...
- windows安装多个maven_全网最容易理解的Maven安装、配置、集成演示
- js base64图片太大_JS实现base64图片下载 简易方法
- sql删除重复数据只保留一条的操作方法
- 【实习之T100开发】帆软报表笔记
- 怎么把数组转化成字符串呢?有没有现成的函数呢?
- C# 输入一个正整数N,判断N是奇数还是偶数,输出1~N的奇数和或是偶数和,三种不同方法分别实现
- windows 10 cortana搜索功能失效
- Eclips注释模板的使用
- 平面设计面试官常问的问题有哪些?
- ps中颜色和图片本身颜色不一样,白色呈米色
- JavaWeb基础04: JavaScript
- Python读写串口编程
- JAVA ECLIPSE安装
- 读书笔记:《启示录》