【poj1995】Raising Modulo Numbers
problem
T组数据,每组包含n对ai,bi和一个p。
每组输出一个答案,∑ni=1aibi%p∑i=1naibi%p \sum_{i=1}^n ai^{bi} \%p。
solution
快速幂模板。
1.把b拆成二进制形如101110之类,设b有k位,则b = ck−1∗2k−1+ck−2∗2k−2...+c0∗20ck−1∗2k−1+ck−2∗2k−2...+c0∗20 c_{k-1}*2^{k-1}+ c_{k-2}*2^{k-2}...+c_0*2^0
2.ab=ack−1∗2k−1∗ack−1∗2k−2....ab=ack−1∗2k−1∗ack−1∗2k−2.... a^b = a^{c_{k-1}*2^{k-1}} *a^{c_{k-1}*2^{k-2}}....
3.因为a2i=(a2i−1)2a2i=(a2i−1)2 a^{2^i} = (a^{2^{i-1}})^2 ,所以偶数时直接*2,奇数多乘一个a就好了。
codes
#include<iostream>
using namespace std;
typedef long long LL;
LL pow(LL a, LL b, LL p){LL x = 1;while(b){if(b&1)x = x*a%p;a = a*a%p;b >>= 1;}return x%p;
}
int main(){int _w; cin>>_w;while(_w--){int n, p; cin>>p>>n;LL ans = 0;for(int i = 1; i <= n; i++){int a, b; cin>>a>>b;ans = (ans+pow(a,b,p))%p;}cout<<ans<<'\n';}return 0;
}
【poj1995】Raising Modulo Numbers相关推荐
- 【POJ - 1995】Raising Modulo Numbers(裸的快速幂)
题干: People are different. Some secretly read magazines full of interesting girls' pictures, others c ...
- 【SPOJ】Power Modulo Inverted(拓展BSGS)
[SPOJ]Power Modulo Inverted(拓展BSGS) 题面 洛谷 求最小的\(y\) 满足 \[k\equiv x^y(mod\ z)\] 题解 拓展\(BSGS\)模板题 #inc ...
- 【链表】Add Two Numbers
题目: You are given two linked lists representing two non-negative numbers. The digits are stored in r ...
- 【CF678A】 Johny Likes Numbers
题目 题意翻译 Jonhy非常喜欢数N和K,现在Johny要找一个可以整除K的最小整数x,且满足x>n. 题目描述 Johny likes numbers n n and k k very mu ...
- 【HDOJ】1058 Humble Numbers
简单题,注意打表,以及输出格式.这里使用了可变参数. 1 #include <stdio.h> 2 3 #define MAXNUM 5845 4 #define ANS 20000000 ...
- Raising Modulo Numbers
http://poj.org/problem?id=1995 题解:快速幂 /* *@Author: STZG *@Language: C++ */ //#include <bits/stdc+ ...
- poj 1995 Raising Modulo Numbers 二分快速幂
题意:给定n对Ai,Bi,求所有Ai的Bi次方之和对M取模的结果: 思路:二分法求快速幂: #include<cstdio> #include<cstring> #includ ...
- 【MongoDB】事务Transaction numbers are only allowed on a replica set member or mongos
问题描述 使用python库pymongo进行事务管理,在发生异常时session无法完成回滚. 问题定位 经过查阅,发现当MongoDB为单例运行时是无法完成回滚操作的,只有在开启副本集的时候才能使 ...
- POJ前面的题目算法思路【转】
1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...
最新文章
- 常用免费精品Web应用列表(转)
- pip镜像源永久设置成国内镜像源,提升下载速度
- 预处理指令pragma常见用法集锦(#pragma once、#pragma comment和#pragma warning)
- 从Google Maglev说起,如何造一个牛逼的负载均衡?
- seo日常工作表_seo工作者的日常和苦与甜
- Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解
- Ajax 六. JSON数据解析
- struts2 s:file标签使用及文件上传例子
- rtmp,rtsp,hLS区别
- 计算机网络(北京理工大学出版社)课后习题答案
- Android 学习资料
- 7-2 两个有序链表序列的合并 (20分)
- el-dialog 圆角 白边问题
- Android 移动网络接入点名称(APN)
- 二手车APP软件开发主要功能
- Cannot get property '......' on extra properties extension as it does not exist
- win7每次打开计算机都是小框,win7电脑为什么每次开机都会自动启动记事本文档?...
- java jtextarea边框_JTextArea在java swing中的边框
- tekton入门-细数tekton用到的那些images
- 爬虫:爬取某个商品的历史价格并绘制折线图