博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
O(1)快速乘注意事项
阅读量:5242 次
发布时间:2019-06-14

本文共 246 字,大约阅读时间需要 1 分钟。

O(1)快速乘是经典玄学优化啦~由于刚挂了一次特此总结一番。

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

转载于:https://www.cnblogs.com/f321dd/p/5714966.html

你可能感兴趣的文章
如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
查看>>
如何设置映射网络驱动器的具体步骤和方法
查看>>
ASP.NET WebApi 基于OAuth2.0实现Token签名认证
查看>>
SendMail与Postfix的架构备忘
查看>>
paip.mysql 性能测试 报告 home right
查看>>
Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216 java c# php js.docx...
查看>>
知识点1-4:ASP.NET MVC的好处
查看>>
定时任务备份数据库与windows批处理
查看>>
饭后粗谈树状数组
查看>>
201506231015_《Javascript权威指南(第六版)——作为命名空间的函数、闭包、 》(P181-193)...
查看>>
NSLog 使用
查看>>
百度之星程序设计大赛 G题 水啊!显示字符串
查看>>
JavaScript常见的错误类型
查看>>
夺命雷公狗---javascript NO:29 Object类
查看>>
使用Advanced Installer 自动部署 Arcgis Engine Runtime 10.0
查看>>
libpcap 与 “port 80”
查看>>
objective-c KVC
查看>>
283. Move Zeroes把零放在最后面
查看>>
我的函数说明风格
查看>>
ssh 简介
查看>>