HDU4506之快速幂取模理解
来源:互联网 发布:大数据调研报告 编辑:程序博客网 时间:2024/06/05 05:14
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=107165#problem/B
第一次接触快速幂,看了别人的博客,x代表底数,n为指数
- typedef long long LL;
- LL fun(LL x,LL n,)
- {
- LL res=1;
- while(n>0)
- {
- if(n & 1)
- res=(res*x)%Max;
- x=(x*x)%Max;
- n >>= 1;
- }
- return res;
- }
好吧,贴个代码
#include <iostream>#include <cstdio>#include <vector>#include <algorithm>const int MO = 1000000007;#define maxn 10010typedef long long ll;ll aa[maxn];using namespace std;ll quick(ll m,ll n){ ll ans = 1; while (n) { if (n & 1) ans = (ans*m) % MO; m = (m * m) % MO; n >>= 2; // 就是 n /= 2; } return ans;}int main(){ int T; while (~scanf("%d",&T)) { while (T--) { ll n,t,k,si,so; scanf("%I64d %I64d %I64d",&n,&t,&k); for (int i = 0;i < n;i++) scanf("%I64d",&aa[i]); si = t % n; so = quick(k,t); for (int i = 0;i < n;i++)
//循环数组取模。。。自己模拟一下即可 printf("%I64d%c",aa[(i - si + n) % n] * so % MO,(i == n-1 )?'\n':' '); } } return 0;}
0 0
- HDU4506之快速幂取模理解
- hdu4506(快速幂取模)
- HDU4506(快速幂)
- HDU4506
- hdu4506
- hdu4506 小明系列故事——师兄帮帮忙 快速幂取模
- HDU4506 小明系列故事——师兄帮帮忙(快速幂取模)
- 快速排序之理解
- hdu4506 小明系列故事——师兄帮帮忙 (快速幂)
- 快速幂模-蒙哥马利-递推-HDU4506-HDU1211-HDU1575
- hdu4506小明系列故事——师兄帮帮忙 (用二进制,大数快速取余)
- hdu4506 小明系列故事——师兄帮帮忙 (规律模拟+快速幂)
- 【快速幂】HDU4506小明系列故事——师兄帮帮忙
- hdu4506 小明系列故事――师兄帮帮忙(快速幂)
- JavaGUI之事件的快速理解
- 小明系列故事——师兄帮帮忙(hdu4506大数幂取模)
- 快速理解快速排序
- 快速幂取模(转载+自己理解)
- 如何向编辑控件中添加文本
- 元宵节作业
- GPIO及中断API函数
- android 5.0 NFC支持
- java相对于c和c++在内存管理上怎样提高了开发效率
- HDU4506之快速幂取模理解
- MFC CStatic控件插入背景图片
- 组成数据分析师完整知识结构的七大板块
- PMP学习经历反思(2)---PMBook第五版--第一章绪论
- 图的相关概念(备用)
- Kafka 安装和测试
- 如何快速掌握MindMapper分类排序功能
- Newtonsoft.Json.JsonConvert 序列化日期时间
- GestureDetector中无法提示调用simpOnGesturelistener的问题