首页 > 编程语言 >[练习记录] 《算法竞赛进阶指南》打卡活动

[练习记录] 《算法竞赛进阶指南》打卡活动

时间:2023-04-29 15:45:01浏览次数:38  
标签:__ return 进阶 read res ll 算法 打卡 mod

89. a^b

题目大意

给 \(a,b,p\) 求 \(a^b \mod p\)。

思路

可以直接快速幂。当模数 \(p\) 为 \(1\) 的时候特判一下。

代码

ll a, b, mod;
ll qpow(ll a, ll b) {
	ll res = 1;
	while (b) {
		if (b & 1) res = res * a % mod;
		a = a * a % mod, b >>= 1;
	}
	return res;
}
int main() {
	a = read(), b = read(), mod = read();
	if (mod == 1) printf("0\n");
	else printf("%lld\n", qpow(a, b));
	return 0;
}

AcWing 90. 64位整数乘法

题目大意

给 \(a,b,p\) 求 \(a \times b \mod p\)。

思路1

好像是想让我写龟速乘,但是我直接 __int128 莽过去了()。

代码1

__int128 a, b, mod;
void prt(__int128 x) {
    if (x > 9) prt(x / 10);
    putchar(x % 10 + '0');
}
int main() {
	a = read(), b = read(), mod = read();
    __int128 ans = a * b % mod;
    prt(ans);
	return 0;
}

思路2

龟速乘,长得和快速幂很像。

代码2

ll a, b, mod;
ll mul(ll a, ll b) {
    ll res = 0;
    while (b) {
        if (b & 1) res = (res + a) % mod;
        a = (a << 1) % mod, b >>= 1;
    }
    return res;
}
int main() {
	a = read(), b = read(), mod = read();
    printf("%lld\n", mul(a, b));
	return 0;
}

标签:__,return,进阶,read,res,ll,算法,打卡,mod
From: https://www.cnblogs.com/shiranui/p/17364059.html

相关文章

  • 分块+莫队算法
    分块复杂度\(O(n\sqrtn)\)主要目的是解决一些区间操作问题把区间拆分成\(\sqrt{n}\)大小的块每次碰到修改的操作,对于散块,直接暴力操作,对于整块,那么用一个\(tag\)进行标记即可也就是说对于一个操作\([l,r]\)来说我们需要进行操作主要分三步:暴力操作头散块,即\([l,......
  • 4-28打卡c++ string容器
    1#include<iostream>2#include<string>3usingnamespacestd;4//assign5voidtest01()6{7stringstr1;8//截取三个字符9str1.assign("hello,world",3);10//从第三个字符开始截取4个字符11str1.assign("hello,worl......
  • SPFA 算法:实现原理及其应用
    一、前言SPFA算法,全称为ShortestPathFasterAlgorithm,是求解单源最短路径问题的一种常用算法,它可以处理有向图或者无向图,边权可以是正数、负数,但是不能有负环。二、SPFA算法1、SPFA算法的基本流程1.初始化首先我们需要起点s到其他顶点的距离初始化为一个很大的值(比如99......
  • 模拟退火算法
    访问【WRITE-BUG数字空间】_[内附完整源码和文档]该项目主要是利用局部搜索算法(LS)和模拟退火算法(SA)解决TSP问题。先是使用LS求解TSP问题,再尝试SA问题,比较两者,在效率上SA更占有。最后再在LS的基础上使用SA,再优化SA部分算法,尝试求解TSP问题。选用的TSP测例为eil1......
  • 三维重建原理和算法
    原理采集深度图像:使用深度相机采集场景深度信息,并将其转换为深度图像。点云生成:根据深度图像,将场景中的点云数据进行生成。点云滤波:对于采集到的点云数据进行滤波处理,去除无效数据点。点云配准:如果需要将多个点云数据融合为一个完整的点云模型,需要进行点云配准操作,使得各个点......
  • 1.ORB-SLAM3论文重点导读及整体算法流程梳理
    摘要ORB-SLAM3是第一个能够执行纯视觉、视觉-惯导以及多地图的SLAM系统,可以在单目,双目以及RGB-D相机上使用针孔以及鱼眼模型。本文主要新颖之处在于基于特征的VIO紧耦合系统,该系统完全依赖于最大后验估计,即使在IMU初始化阶段也是如此。本系统在小型和大型、室内和室外环境中实时稳......
  • VIVADO 进阶
    原则合适的代码风格精准的时序约束管理高扇出网络层次化设计结构处理跨时钟域设计少而精的物理约束选择实现策略共享控制信号读懂日志报告TCL作用代码风格  高扇出网络  高扇出网络几乎是限制FPGA设计实现更高性能的第一大障碍,所以......
  • Django4全栈进阶之路20 项目实战(三种方式开发部门管理):方式一:FBV
    1、模型fromdjango.dbimportmodelsfromdjango.contrib.auth.modelsimportUser#Createyourmodelshere.classDepartment(models.Model):name=models.CharField(max_length=255,verbose_name='部门名称')parent=models.ForeignKey('sel......
  • jQuery轮播图(模仿滑动窗口算法)
    conststatus=["left:0px;","left:10px;","left:20px;","left:30px;","left:40px;",];constlist=$("#carousel>ul>li");constlen=lis......
  • 【数据挖掘&机器学习】招聘网站的职位招聘数据的分位数图、分位数-分位数图以及散点图
    一.本次需求背景本文主题:招聘网站的职位招聘数据的分位数图、分位数-分位数图以及散点图、使用线性回归算法拟合散点图处理详解之前的文章我们已经对爬取的数据做了清洗处理,然后又对其数据做了一个薪资数据的倾斜情况以及盒图离群点的探究。我们这次的需求是:使用散点图、使用......