hduoj 4506 小明系列故事――师兄帮帮忙分析题意
Posted 唐唐123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hduoj 4506 小明系列故事――师兄帮帮忙分析题意相关的知识,希望对你有一定的参考价值。
值得注意的是,当t>n时,该怎么办呢????首先快速幂这里不能改,把下面的for循环中的t提前对n取模,其中道理不用讲明吧。
AC代码:
1 #include<cstdio> 2 3 #define LL long long 4 #define mod 1000000007 5 int n, t, k; 6 LL a[10005], b[10005]; 7 8 LL quick(LL a, LL b) 9 { 10 LL ans = 1, base = a % mod; 11 while(b) 12 { 13 if(b & 1) 14 ans = (ans*base) % mod; 15 base = (base * base) % mod; 16 b>>=1; 17 } 18 return ans; 19 } 20 21 int main() 22 { 23 int T;scanf("%d", &T); 24 while(T--) 25 { 26 scanf("%d %d %d", &n, &t, &k); 27 for(int i = 1; i <= n; i++) 28 scanf("%lld", &a[i]); 29 LL cnt = quick(k, t); 30 t %= n; 31 for(int i = 1; i <= n; i++) 32 { 33 if(i-t >= 1) 34 b[i] = (a[i-t] * cnt) % mod; 35 else 36 b[i] = (a[n+i-t] * cnt) % mod; 37 } 38 for(int i = 1; i < n; i++) 39 printf("%lld ", b[i]); 40 printf("%lld\n", b[n]); 41 } 42 return 0; 43 }
以上是关于hduoj 4506 小明系列故事――师兄帮帮忙分析题意的主要内容,如果未能解决你的问题,请参考以下文章
HDU 4511 小明系列故事——女友的考验 (AC自动机+DP)
HDU 4511小明系列故事——女友的考验(AC自动机+DP)
hdu 4542 "小明系列故事——未知剩余系" (反素数+DFS剪枝)