ACM技巧 - O(1)快速乘(玄学) 总结
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
注意事项:
- double可能会挂,最好long double。
- u,v>=p可能会挂,必要时先%p。
- 用浮点数算出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)快速乘(玄学) 总结相关推荐
- 计算机数据恢复教程视频,视频删了怎么恢复?小技巧帮你快速解决
视频删了怎么恢复?小技巧帮你快速解决 2019年07月03日 17:20作者:黄页编辑:黄页 分享 视频删了怎么恢复?如何能够将电脑上误删除的一些重要视频文件给恢复呢?相信很多人都想要知道这个答案,毕 ...
- 如何在Linux开启HTTP服务,小技巧:如何快速开启一个静态 HTTP 服务?
静态 HTTP 服务的几个用途: 静态网页的 HTTP 服务,以访问浏览 如:生成的文档.博客等 公开文件的 HTTP 服务,以访问下载 如:分享的文档.安装包等 以下会介绍目前我了解的方式中,最推荐 ...
- CAD看图有什么技巧?怎么快速查看CAD建筑图纸?
建筑CAD图纸有什么查看的技巧呢?怎么快速查看CAD图纸?相信不论是对于刚刚开始接触CAD的小伙伴而言还是对CAD比较熟悉的工作人员而言,都是一个不断学习不断探索的过程!那么查看CAD建筑图纸有什么技 ...
- 查看CAD建筑图纸有什么技巧?怎么快速实现CAD看图呢?
在平时 的CAD制图工作中,我们经常会需要将CAD图纸保存为其他格式的图纸,因为CAD图纸无法在电脑或移动端直接打开,必要要在特定的环境中才能进行查看,就想Photoshop导出的.psd图纸必须要在 ...
- CAD查看建筑图纸有什么技巧?怎么快速查看建筑图纸?
CAD查看建筑图纸有什么技巧?怎么快速查看建筑图纸?以下为小伙伴们总结了五个CAD看图的小技巧,希望能对大家的看工作有所帮助哦! 1.学会查看图纸目录 图纸目录是了解整个建筑设计整体情况的目录,从其中 ...
- 快速整理excel_3小时整理了33个excel动图技巧,能快速提高工作效率,收藏备用吧...
1.身份证号码快速提取出生日期 首先我们在旁边输入出生日期,点击回车按快捷键Ctrl+E即可快速提取身份证号码 2.快速输入性别 首先我们点击想要设置的区域,然后点击鼠标右键选择自定义单元格格式,点击 ...
- 设置finder窗口大小_五个Finder技巧让你快速提高工作效率
Mac里面的Finder其实就相当于 Windows 的资源管理器,当我们打开 Mac 首先见到的「笑脸」的图标就是它了,我们可以用它组织和使用 Mac 里的几乎所有东西,包括应用程序.文件.文件夹. ...
- matlab绘制蜂窝,PPT技巧:如何快速设计蜂窝表达的图形设计?
这个设计还蛮好看的,怎么做出来的呢?牛闪闪给教教吧!这类蜂窝状表达也是目前流行的表达方式之一,牛闪闪把方法交给大家. 场景:企业市场.财务.人事部等需要PPT演示汇报的办公人士. 问题:如何快速设计蜂 ...
- 数据挖掘 点击更多 界面_6(更多)技巧,可快速改善用户界面
数据挖掘 点击更多 界面 重点 (Top highlight) Creating beautiful, usable, and efficient UIs takes time, with many ...
最新文章
- vs2019安装C#环境并新建窗体项目
- 常考数据结构与算法:最长回文子串
- CFile和CStdioFile的区别以及‘\r’、‘\r\n’
- 阿里飞天大数据平台正式亮相:国内最大计算平台
- 机器学习--支持向量机实战(三)完整版SMO算法实现
- 切片与MapTask并行度决定机制
- 4.5 第九讲 函数展开成幂级数及其应用
- tensorflow安装
- three.js学习笔记(十五)——着色器图案
- 徐思201771010132《面向对象程序设计(java)》第八周学习总结
- 单片机无线通信学习笔记
- GEEer成长日记六:Sentinel-2计算逐日NDVI时间序列
- python sqrt(4)*sqrt(9)_Python表达式sqrt(4)*sqrt(9)的值为__________。
- maven修改为阿里巴巴的仓库地址
- Android Activity 降低屏幕亮度 Android开发
- 高中计算机辗转相除法,高中数学的辗转相除法问题
- redis7 Cluster模式 集群
- 空气质量指数c语言,基于STM32的小范围空气质量的监测与预报
- 记录一下自己的本本,DELL 640M铲掉XP,重装VISTA的过程
- 等保(网络安全等级保护)2.0与定级备案之——等保2.0与等保1.0区别解读
热门文章
- HDU-5023 线段树染色问题+延时标记
- android滑动开关框架,Android之实现滑动开关组件
- 计算机用户名登陆管理员权限,关于win10勿删用户账号下管理员身份导致无法登录系统的问题...
- java 异常 理解_java异常理解(1)
- 文本显示变量_几千个IO状态显示.十几分钟搞定实例
- UWidgetBlueprintLibrary
- ppp在linux下的编译和安装
- Linux编程练习 --多线程1--线程创建
- ubuntu设置始终亮屏_ubuntu系统每次启动屏幕都是最大亮度问题的解决方法
- xxl-job 执行结果是空_xxljob dotnet core executor执行器开源