ll fast_mult(ll a,ll b,ll mod) {return (a*b - (ll)((long double)a/mod*b)*mod+mod)%mod;
}

参考:https://blog.csdn.net/m0_38013346/article/details/81435369

注意事项:

  1. double可能会挂,最好long double。
  2. u,v>=p可能会挂,必要时先%p。
  3. 用浮点数算出u*v/p的值时事实上允许了±1的误差,因此可能出现负数,所以必须+p再%p。因此理论上不需要+eps。

还有一种模板:

inline ll fast_mult(ll x,ll y,ll mod) {ll tmp=(x*y-(ll)((long double)x/mod*y+1.0e-8)*mod);return tmp<0 ? tmp+mod : tmp;
}

另:

ll n,k,p;
ll kre(ll a,ll b){a=a%p;b=b%p;return ((a*b-(ll)(((double)a*b+0.5)/p)*p)+p)%p;
}
ll kru(ll a,ll b){ll ret=1;while(b){if(b&1){ret=kre(ret,a)%p;b--;}b/=2;a=kre(a,a)%p;}return ret;
}

参考:https://blog.csdn.net/axuhongbo/article/details/82011464

ACM技巧 - O(1)快速乘(玄学) 总结相关推荐

  1. 计算机数据恢复教程视频,视频删了怎么恢复?小技巧帮你快速解决

    视频删了怎么恢复?小技巧帮你快速解决 2019年07月03日 17:20作者:黄页编辑:黄页 分享 视频删了怎么恢复?如何能够将电脑上误删除的一些重要视频文件给恢复呢?相信很多人都想要知道这个答案,毕 ...

  2. 如何在Linux开启HTTP服务,小技巧:如何快速开启一个静态 HTTP 服务?

    静态 HTTP 服务的几个用途: 静态网页的 HTTP 服务,以访问浏览 如:生成的文档.博客等 公开文件的 HTTP 服务,以访问下载 如:分享的文档.安装包等 以下会介绍目前我了解的方式中,最推荐 ...

  3. CAD看图有什么技巧?怎么快速查看CAD建筑图纸?

    建筑CAD图纸有什么查看的技巧呢?怎么快速查看CAD图纸?相信不论是对于刚刚开始接触CAD的小伙伴而言还是对CAD比较熟悉的工作人员而言,都是一个不断学习不断探索的过程!那么查看CAD建筑图纸有什么技 ...

  4. 查看CAD建筑图纸有什么技巧?怎么快速实现CAD看图呢?

    在平时 的CAD制图工作中,我们经常会需要将CAD图纸保存为其他格式的图纸,因为CAD图纸无法在电脑或移动端直接打开,必要要在特定的环境中才能进行查看,就想Photoshop导出的.psd图纸必须要在 ...

  5. CAD查看建筑图纸有什么技巧?怎么快速查看建筑图纸?

    CAD查看建筑图纸有什么技巧?怎么快速查看建筑图纸?以下为小伙伴们总结了五个CAD看图的小技巧,希望能对大家的看工作有所帮助哦! 1.学会查看图纸目录 图纸目录是了解整个建筑设计整体情况的目录,从其中 ...

  6. 快速整理excel_3小时整理了33个excel动图技巧,能快速提高工作效率,收藏备用吧...

    1.身份证号码快速提取出生日期 首先我们在旁边输入出生日期,点击回车按快捷键Ctrl+E即可快速提取身份证号码 2.快速输入性别 首先我们点击想要设置的区域,然后点击鼠标右键选择自定义单元格格式,点击 ...

  7. 设置finder窗口大小_五个Finder技巧让你快速提高工作效率

    Mac里面的Finder其实就相当于 Windows 的资源管理器,当我们打开 Mac 首先见到的「笑脸」的图标就是它了,我们可以用它组织和使用 Mac 里的几乎所有东西,包括应用程序.文件.文件夹. ...

  8. matlab绘制蜂窝,PPT技巧:如何快速设计蜂窝表达的图形设计?

    这个设计还蛮好看的,怎么做出来的呢?牛闪闪给教教吧!这类蜂窝状表达也是目前流行的表达方式之一,牛闪闪把方法交给大家. 场景:企业市场.财务.人事部等需要PPT演示汇报的办公人士. 问题:如何快速设计蜂 ...

  9. 数据挖掘 点击更多 界面_6(更多)技巧,可快速改善用户界面

    数据挖掘 点击更多 界面 重点 (Top highlight) Creating beautiful, usable, and efficient UIs takes time, with many ...

最新文章

  1. vs2019安装C#环境并新建窗体项目
  2. 常考数据结构与算法:最长回文子串
  3. CFile和CStdioFile的区别以及‘\r’、‘\r\n’
  4. 阿里飞天大数据平台正式亮相:国内最大计算平台
  5. 机器学习--支持向量机实战(三)完整版SMO算法实现
  6. 切片与MapTask并行度决定机制
  7. 4.5 第九讲 函数展开成幂级数及其应用
  8. tensorflow安装
  9. three.js学习笔记(十五)——着色器图案
  10. 徐思201771010132《面向对象程序设计(java)》第八周学习总结
  11. 单片机无线通信学习笔记
  12. GEEer成长日记六:Sentinel-2计算逐日NDVI时间序列
  13. python sqrt(4)*sqrt(9)_Python表达式sqrt(4)*sqrt(9)的值为__________。
  14. maven修改为阿里巴巴的仓库地址
  15. Android Activity 降低屏幕亮度 Android开发
  16. 高中计算机辗转相除法,高中数学的辗转相除法问题
  17. redis7 Cluster模式 集群
  18. 空气质量指数c语言,基于STM32的小范围空气质量的监测与预报
  19. 记录一下自己的本本,DELL 640M铲掉XP,重装VISTA的过程
  20. 等保(网络安全等级保护)2.0与定级备案之——等保2.0与等保1.0区别解读

热门文章

  1. HDU-5023 线段树染色问题+延时标记
  2. android滑动开关框架,Android之实现滑动开关组件
  3. 计算机用户名登陆管理员权限,关于win10勿删用户账号下管理员身份导致无法登录系统的问题...
  4. java 异常 理解_java异常理解(1)
  5. 文本显示变量_几千个IO状态显示.十几分钟搞定实例
  6. UWidgetBlueprintLibrary
  7. ppp在linux下的编译和安装
  8. Linux编程练习 --多线程1--线程创建
  9. ubuntu设置始终亮屏_ubuntu系统每次启动屏幕都是最大亮度问题的解决方法
  10. xxl-job 执行结果是空_xxljob dotnet core executor执行器开源