懒得打字的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处理)相关推荐

  1. HDU - 4990 Reading comprehension(矩阵快速幂,水题)

    题目链接:点击查看 题目大意:给出一段程序,进行优化后提交 题目分析:其实就是找规律,大水题一个,偶尔也是需要做做水题找找自信(逃) 先将题目中的程序拿下来,跑上100项,然后拿到oeis里找一下规律 ...

  2. 15行代码AC——Link/Cut Tree CodeForces - 614A(爆long long处理+快速幂讲解)

    励志用少的代码做高效表达 Problem describe Programmer Rostislav got seriously interested in the Link/Cut Tree dat ...

  3. 【学习笔记】超简单的多项式快速幂

    整理的算法模板合集: ACM模板 目录 P5245 [模板]多项式快速幂 普通版(a0=1a_0=1a0​=1) vector版本AC代码 加强版(a0≠1a_0 \neq 1a0​​=1) 点我看 ...

  4. HDU - 5667 Sequence(矩阵快速幂+费马小定理降幂)

    题目链接:点击查看 题目大意:给出函数f(x): 现给出n,a,b,c,mod,求f(n)对mod取模后的结果 题目分析:这个题目相对于前几个题来说稍微加大了点难度,但还是挺水的一个题,首先我们可以对 ...

  5. HDU - 5015 233 Matrix(矩阵快速幂)

    题目链接:点击查看 题目大意:初始化:第一行依次为233,2333,23333....第一列依次为a0,a1,a2....(题目中会给出),再给出递推公式:,求矩阵中第n行m列的数字是多少 题目分析: ...

  6. 【HDU - 5187】zhx's contest (快速幂+ 快速乘,模板)

    题干: 2018百度之星复赛晋级名单出炉(增加20%晋级名额)~ zhx's contest Time Limit: 2000/1000 MS (Java/Others)    Memory Limi ...

  7. 快速幂算法(理解快速幂只需两道题)

    重点看代码注释 题目 2088: [蓝桥杯]快速幂 时间限制: 1Sec 内存限制: 128MB 题目描述 给定A, B, P,求(A^B) mod P. 输入 输入共一行. 第一行有三个数,N, M ...

  8. [noip模拟]种花快速幂+结论

    描述: OI太可怕了,我决定回家种田. 我在后院里开辟了一块圆形的花圃,准备种花.种花是一种艺术,通过一定技术手法,花材的排列组合会让花变得更加的赏心悦目,这就是花艺. 当然你知道,我在种田之前是OI ...

  9. c语言的 pow函数是快速幂吗,leetcode 50. Pow(x, n)(快速幂)

    就是一个二分法快速幂. 但是需要注意的问题是这里是实数,而且n可能为负. int的范围是-2,147,483,648 至 2,147,483,647.如果为-2,147,483,648那么直接n=-n ...

  10. 解题报告(一)B、(CF453D) Little Pony and Elements of Harmony(FWT经典套路 + 任意模数 k 进制FWT + 快速幂)(2)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

最新文章

  1. 乐高无限无法进入服务器,乐高无限6.13更新 无法进入游戏问题修复
  2. Paper1:HoPE: Horizontal Plane Extractor for Cluttered
  3. 入机器学习大坑,需要什么样的数学水平?
  4. 突然挂了!Redis缓存都在内存中,这下完了!
  5. R语言dplyr包if_else条件判断选择函数实战
  6. ASP.NET Core 菜鸟之路:从Startup.cs说起
  7. 第八天- linux目录结构详细介绍
  8. autojsui界面关闭_autojs 第九次 ui界面交互获取
  9. RabbitMq(十七)rabbitmq的四种集群监控
  10. 人工神经网络_人工神经网络实践
  11. NGUI_2.6.3_系列教程一
  12. linux查进程内存问题,关于linux 查看服务进程内存,cpu,内存占用的一些基础命令...
  13. java中的递归问题_java 递归问题
  14. C# 操作mysql-创建表、插入更新数据
  15. 单相和三相电源的区别
  16. 实例——领域驱动设计DDD
  17. [C语言]PTA 念数字
  18. 程序员专用表情包_拿走不谢
  19. UOS系统修改分辨率
  20. 计算机网络组建毕业论文,网络组建毕业论文范文

热门文章

  1. 哪个软件能做英语测试,英语考试软件哪个好用 英语考试软件神器推荐
  2. windows7计算机不显示u盘,Win7系统U盘文件不显示的三种解决方法
  3. RK3399平台开发系列讲解(内核驱动外设篇)6.8、视频解码芯片GM7150驱动的添加
  4. 黑马程序员_Java基础_枚举 和 单例模式实例
  5. php 开源cms 族谱,20款最为知名的开源PHP CMS
  6. 青果教务系统适配小爱课程表
  7. 紫猫安卓按键之其他命令
  8. nacos注册服务地址为内网地址解决方法
  9. 主流的语音芯片ic方案该如何选 这篇文章可以说清楚
  10. 股票因子扩展2(双神因子计算)——从零到实盘5