2116: 简简单单的数学题(快速幂||爆longlong处理)
懒得打字的yzj丢了道简单的数学题。 ⌊a⌋ +⌈b⌉+c(四舍五入)+d^n; (d^n表示d的n次方)。 解释一下 就是a向下取整 b向上取整 c四舍五入的和加上d的n次方
输入
第一行3个数 a,b,c。0<a,b,c<1e18,
第二行一个数q 表示q次查询 q<=2e5
每次查询2个整数 d,n。 0<d,n<1e18;
输出
每次查询输出一个答案(取模1e12);
样例输入
1.9 2.1 2.2
1
2 2
样例输出
10
爆longlong三种处理方式
1.__int128 此类型只能在Linux上编译,本地编译不了,但可ac
2.将1e12的数分开乘
快速版本:
乘法优化成两部分:
大于1e6以及小于1e6的分开
p=1e6;
(((x*(y/p))%mod)*p)%mod+(x*(y%p))%mod;
龟速版本:
化成对应二进制一位一位的乘(此题tle)
ll ans = 0;while(b) {if(b & 1) ans = (ans + a ) ;if(ans>mod) ans%=mod;b >>= 1;a<<=1;if(a>mod) a%=mod;}
3.转化成long double(最强)
简化:
(x*y-(ll)((long double)x*y/mod)*mod+mod)%mod;
#include<bits/stdc++.h>
#define fi first
#define se second
#define log2(a) log(n)/log(2)
#define show(a) cout<<a<<endl;
#define show2(a,b) cout<<a<<" "<<b<<endl;
#define show3(a,b,c) cout<<a<<" "<<b<<" "<<c<<endl;
#define tim printf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
using namespace std;typedef long long ll;
typedef pair<ll, ll> P;
typedef pair<P, ll> LP;
const ll inf = 0x3f3f3f3f;
const int N = 1e5;
const ll mod = 1e12;
const ll p=1e6;
const int base=131;
const double pi=acos(-1);ll mul(ll x,ll y)
{return (x*y-(ll)((long double)x*y/mod)*mod+mod)%mod;
}ll ksm(ll a, ll b) {ll res = 1;ll base = a%mod;while(b) {if(b & 1) res = mul(res, base) ;base = mul(base, base) ;b >>= 1;}return res;
}int main()
{long double a,b,c;scanf("%Lf%Lf%Lf",&a,&b,&c);ll x=ceil(a),y=floor(b),z=(ll)(c+0.5);int t;scanf("%d",&t);ll res=x+y+z;if(res>mod) res%=mod;ll p,q;while(t--){scanf("%lld%lld",&p,&q);ll ans=res+ksm(p,q);if(ans>mod) ans%=mod;printf("%lld\n",ans);}}
2116: 简简单单的数学题(快速幂||爆longlong处理)相关推荐
- HDU - 4990 Reading comprehension(矩阵快速幂,水题)
题目链接:点击查看 题目大意:给出一段程序,进行优化后提交 题目分析:其实就是找规律,大水题一个,偶尔也是需要做做水题找找自信(逃) 先将题目中的程序拿下来,跑上100项,然后拿到oeis里找一下规律 ...
- 15行代码AC——Link/Cut Tree CodeForces - 614A(爆long long处理+快速幂讲解)
励志用少的代码做高效表达 Problem describe Programmer Rostislav got seriously interested in the Link/Cut Tree dat ...
- 【学习笔记】超简单的多项式快速幂
整理的算法模板合集: ACM模板 目录 P5245 [模板]多项式快速幂 普通版(a0=1a_0=1a0=1) vector版本AC代码 加强版(a0≠1a_0 \neq 1a0=1) 点我看 ...
- HDU - 5667 Sequence(矩阵快速幂+费马小定理降幂)
题目链接:点击查看 题目大意:给出函数f(x): 现给出n,a,b,c,mod,求f(n)对mod取模后的结果 题目分析:这个题目相对于前几个题来说稍微加大了点难度,但还是挺水的一个题,首先我们可以对 ...
- HDU - 5015 233 Matrix(矩阵快速幂)
题目链接:点击查看 题目大意:初始化:第一行依次为233,2333,23333....第一列依次为a0,a1,a2....(题目中会给出),再给出递推公式:,求矩阵中第n行m列的数字是多少 题目分析: ...
- 【HDU - 5187】zhx's contest (快速幂+ 快速乘,模板)
题干: 2018百度之星复赛晋级名单出炉(增加20%晋级名额)~ zhx's contest Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...
- 快速幂算法(理解快速幂只需两道题)
重点看代码注释 题目 2088: [蓝桥杯]快速幂 时间限制: 1Sec 内存限制: 128MB 题目描述 给定A, B, P,求(A^B) mod P. 输入 输入共一行. 第一行有三个数,N, M ...
- [noip模拟]种花快速幂+结论
描述: OI太可怕了,我决定回家种田. 我在后院里开辟了一块圆形的花圃,准备种花.种花是一种艺术,通过一定技术手法,花材的排列组合会让花变得更加的赏心悦目,这就是花艺. 当然你知道,我在种田之前是OI ...
- c语言的 pow函数是快速幂吗,leetcode 50. Pow(x, n)(快速幂)
就是一个二分法快速幂. 但是需要注意的问题是这里是实数,而且n可能为负. int的范围是-2,147,483,648 至 2,147,483,647.如果为-2,147,483,648那么直接n=-n ...
- 解题报告(一)B、(CF453D) Little Pony and Elements of Harmony(FWT经典套路 + 任意模数 k 进制FWT + 快速幂)(2)
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
最新文章
- 乐高无限无法进入服务器,乐高无限6.13更新 无法进入游戏问题修复
- Paper1:HoPE: Horizontal Plane Extractor for Cluttered
- 入机器学习大坑,需要什么样的数学水平?
- 突然挂了!Redis缓存都在内存中,这下完了!
- R语言dplyr包if_else条件判断选择函数实战
- ASP.NET Core 菜鸟之路:从Startup.cs说起
- 第八天- linux目录结构详细介绍
- autojsui界面关闭_autojs 第九次 ui界面交互获取
- RabbitMq(十七)rabbitmq的四种集群监控
- 人工神经网络_人工神经网络实践
- NGUI_2.6.3_系列教程一
- linux查进程内存问题,关于linux 查看服务进程内存,cpu,内存占用的一些基础命令...
- java中的递归问题_java 递归问题
- C# 操作mysql-创建表、插入更新数据
- 单相和三相电源的区别
- 实例——领域驱动设计DDD
- [C语言]PTA 念数字
- 程序员专用表情包_拿走不谢
- UOS系统修改分辨率
- 计算机网络组建毕业论文,网络组建毕业论文范文
热门文章
- 哪个软件能做英语测试,英语考试软件哪个好用 英语考试软件神器推荐
- windows7计算机不显示u盘,Win7系统U盘文件不显示的三种解决方法
- RK3399平台开发系列讲解(内核驱动外设篇)6.8、视频解码芯片GM7150驱动的添加
- 黑马程序员_Java基础_枚举 和 单例模式实例
- php 开源cms 族谱,20款最为知名的开源PHP CMS
- 青果教务系统适配小爱课程表
- 紫猫安卓按键之其他命令
- nacos注册服务地址为内网地址解决方法
- 主流的语音芯片ic方案该如何选 这篇文章可以说清楚
- 股票因子扩展2(双神因子计算)——从零到实盘5