POJ1995 Raising Modulo Numbers

poj1995 Raising Modulo Numbers (整数快速幂) Raising Modulo Numbers Time Limit:1000MS Memory Limit:30000K Total Submissions:7280 Accepted:4397 Description People are different. Some secretly read magazines 阅读详情

题目大意&&思路:快速幂取模,没看题RE了2次,因为指数为0的情况,囧。。还是用自己的模板,虽然有点繁琐,但是自己的更顺眼嘛~~~

AC program:

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<cstdlib>
using namespace std;
__int64 test,mod,n;
__int64 a[50000],k[50000]; 
__int64 fn(__int64 aa,__int64 kk)
{
    if(kk==0)return 1; 
    if(kk==1)return aa%mod;
    __int64 tmp=fn(aa,kk/2);
    __int64 tmppp=tmp*tmp%mod;
    if(kk&1)return tmppp*aa%mod;
    return tmppp;    
} 
int main()
{
cin>>test;
while(test--)
{
   cin>>mod;
   cin>>n;
   for(int i=0;i<n;i++)
      cin>>a[i]>>k[i];
   __int64 sum=0;            
   for(int i=0;i<n;i++)
   {
       //cout<<"fn(a[i],k[i]) "<<fn(a[i],k[i])<<endl; 
       sum=(sum%mod+fn(a[i],k[i])%mod  )%mod; 
   }
   cout<<sum<<endl; 
} 
//system("pause"); 
return 0;} 



 

总结:

1.模取运算的性质

(1)(a+b)%c = ((a%c)+(b%c))%c

(2)(a*b)%c = ((a%c)*b)%c

2.快速幂乘计算a^b

(1)a,b都为正数,将b二进制化

(2)时间复杂度为logb,乘法次数不是最少的

__int64 power = 1;

while(b > 0){

if(b&1) power *= a;

a *= a;

b >>= 1;

}

return power

3.快速模幂(蒙哥马利算法)

__int64Power(int a,int b,int c)                          //这个做法好
{
//计算(a^b)%c
int digit[32];
int i, k;
__int64 power=1;
i =0;
while(b)
{
digit[i++]= b%2;
b >>=1;
}
for(k = i-1; k >=0; k--)
{
power=(power* power)% c;
if(digit[k]==1)
{
power=(power * a)% c;}
}
return power;
}

4、

int exp_mod(int a,intb,int n){
    intr=1;
    while(b){
        if(b&1)r=(r*a)%n;
        a=(a*a)%n;
        b>>=1;      
    }
    returnr;
}

模型实战(31)之 yolo26 实现对手部关键点数据集 的训练与关键点检测 阅读详情

相关推荐

快速幂-poj1995

Language: Default Raising Modulo Numbers Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4103   Accepted: 2335 Description People are different. Some s

龙崎的专栏 1083

Aruba CX交换机 初始化配置

Aruba CX 交换机 6000系列 8000系列交换机配置

Harry_Guo 1834

POJ 1995(快速幂)(中文)

Description 人是不同的。有些人偷偷看充满了有趣的女孩的杂志,有些人在地窖里制造原子弹,有些人喜欢使用WINDOWS,有些人喜欢数学游戏。最新的市场调查显示,这一细分市场目前被低估了,而且缺乏这样的游戏。这种游戏因此被纳入了科科达克运动。运动的遵循的规则: 每个玩家选择两个数字Ai和Bi,并把它们写在一张纸条上。其他人看不到这些数字。在一个特定的时刻,所有的玩家都会向其他玩家展示他们...

niuniu0205的博客 3075

Simulink模块库介绍(一)——信号源模块

Simulink模块库介绍(一)——信号源模块库目录Clock模块Digital Clock模块Band-Limited White Noise模块 目录 simulink模块库中提供了丰富的信号源模块组。逐一介绍,算是对之前做个总结吧 Clock模块 通过时钟模块,输出的时间作为判断呢,如下图,前2s之前为高斯白噪声,后2s为正弦曲线,共计10s。 Digital Clock模块 数字时钟模块主要用于离散系统的计时,sample time表示采用时间,如下图:分别是1s和0.5s的采样时间 Band-

5万+

《数据结构》04-树4 是否同一棵二叉搜索树

题目 给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。 输入格式: 输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L,分别是每个序列插入元素的个数和需要...

叫我皮卡丘 2012

Causal Forcing技术:实时视频生成的突破与应用

实时视频生成技术是计算机视觉领域的重要研究方向,尤其在交互式应用中需要平衡画质与响应速度。传统扩散模型虽然能生成高质量视频帧,但计算延迟较高。Causal Forcing技术通过重构蒸馏损失函数,将教师模型的知识压缩进学生模型,实现了单次前向传播即可生成高质量视频帧的能力。该技术在RTX 4090上实现了1280×720分辨率下40ms/帧的生成速度,同时保持PSNR>32dB的视觉质量。其核心创新包括时序掩码注意力重加权、动态梯度裁剪策略和混合精度蒸馏管道。这些技术不仅提升了视频生成的效率,还在云游戏、虚

weixin_34393428的博客 306

硬件描述语言Verilog学习(一)

主要学习综合和仿真、模块结构和信号类型Verilog 是用代码的形式描述硬件的功能,最终在硬件电路上实现该功能。在 Verilog 描述出硬件功能后需要使用综合器对 Verilog 代码进行解释并将代码转化成实际的电路来表示,最终产生实际的电路,也被称为网表。这种将 Verilog 代码转成网表的工具就是综合器。 上图左上角是一段 Verilog 代码,该代码实现了一个加法器的功能。在经过综合器解释后该代码被转化成一个加法器电路。QUARTUS、ISE 和 VIVADO 等 FPGA 开发工具都是综合器,

安静到无声 1499

Raising Modulo Numbers[POJ1995]

题意描述 求∑i=1naibimod&ThinSpace;&ThinSpace;p求\sum_{i=1}^{n}a_{i}^{b_{i}}\mod p求∑i=1n​aibi​​modp 思路 和ab一样套路和a^{b}一样套路和ab一样套路 代码 #include<cstdio> #include<cstring> #include<algorith...

lb2003 346

华为OD机试真题2026双机位C卷 C语言 实现【主次关联成环警告】

在ICT运维领域,现网运维工程师面向对设备上报的众多告警,往往需要筛选出最主要的告警优先处理,次等级的告警或许为同一个根因导致的告警,处理优先级会放后或者不处理,这样就诞生出主次关联告警的概念。给定一系列告警的主次关联关系,判断是否存在如下情况:

MISAYAONE的博客 172

ZYNQ工业级串口方案:AXI UART 16550扩展RS-485实战(自动方向控制+Linux驱动)

可以轻松扩展出多路工业级串口。但常规方案需要手动控制收发方向(DE/RE引脚),存在实时性差、CPU占用高等痛点。本文从硬件逻辑设计到Linux驱动开发,完整实现了ZYNQ平台的RS-485工业通信方案。,解决了传统方案实时性差的痛点。所有代码均经过实际项目验证,可直接用于生产环境。:尝试将此设计扩展为多协议兼容接口(支持RS-422/RS-232切换)!等特性,依然是现场总线通信的首选。,通过硬件逻辑+Linux驱动协同设计,实现零延迟切换。在工业自动化、能源电力等场景中,RS-485凭借。

QQ_778132974的博客 830

poj 1995 裸快速幂

1、poj 1995 Raising Modulo Numbers 2、链接:http://poj.org/problem?id=1995 3、总结:今天七夕,来发水题纪念一下。。。入ACM这个坑也快一年了 题意:求ai^bi和模m。裸快速幂 #include<iostream> #include<cstring> #include<cmath...

weixin_30273175的博客 143

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【POJ 1995】 Raising Modulo Numbers

【题目链接】 http://poj.org/problem?id=1995 【算法】 快速幂 【代码】 #include <algorithm> #include <bitset> #include <cctype> #include <cerrno> #...

128

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

POJ 1995 Raising Modulo Numbers

Raising Modulo Numbers Time Limit:1000MS Memory Limit:30000K Total Submissions:12805 Accepted:7626 Description People are different. Some secretly read magazines full of inte...

~ 395

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

POJ 1995 Raising Modulo Numbers

People are different. Some secretly read magazines full of interesting girls' pictures, others create an A-bomb in their cellar, others like using Windows, and some like difficult mathematical games.

nankeyimeng的博客 1113

POJ1995:Raising Modulo Numbers

二进制前置技能:https://www.cnblogs.com/AKMer/p/9698694.html 题目传送门:http://poj.org/problem?id=1995 题目就是求\(\sum_{i=1}^na[i]^{b[i]}mod\) \(m\)。我们只要会快速求\(a^b\)就行了。 我们可以用二进制拆分思想,把\(a^b\)转化成\(a^{(1010...1)_2}\...

aga28832的博客 210

【POJ 1995】Raising Modulo Numbers

Raising Modulo NumbersDescriptionPeople are different. Some secretly read magazines full of interesting girls’ pictures, others create an A-bomb in their cellar, others like using Windows, and some lik

楚江枫 494

Raising Modulo Numbers POJ - 1995

入门的快速幂 要注意的是x^p的范围没给 用int会爆 最保险的 还是用long long /* author:hdsdogge begin: end: cost: */ #include<iostream> #include<string> #include<queue> #include<map> #inc...

aksklbls868171的博客 172

poj 1995 Raising Modulo Numbers 【快速幂 裸题】

Raising Modulo Numbers Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 5415   Accepted: 3157 Description People are different. Some secretly read magazines f

世界很大 1886

【poj1995】Raising Modulo Numbers

Description People are different. Some secretly read magazines full of interesting girls’ pictures, others create an A-bomb in their cellar, others like using Windows, and some like difficult mathema...

lhh的博客 268

POJ 1995 Raising Modulo Numbers (快速幂)

Raising Modulo Numbers Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 5043   Accepted: 2930 Description People are different. Some secretly read magazines

TaoSama's Microcosm 503
上一篇: POJ1408 Fishnet
下一篇: STL中的unique和erase
muximuxi525
博客等级 码龄15年 134粉丝 294原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值