HDU 5970 CCPC2016合肥 求等差数列整除整数下取整求和
先来大宝贝
a 公差
b 初始项
c 除数
n 项数
long long get(long long a,long long b,long long c,long long n){if (n<=0) return 0;if (n==1) return (b/c) % mod;long long tmp = 0;tmp += (a/c)%mod*((n-1)*n/2%mod)%mod;tmp %= mod;tmp += (b/c)*(n)%mod;tmp %= mod;a = a%c;b = b%c;if (a==0) return tmp;else return (tmp+get(c,(a*n+b)%c,a,(a*n+b)/c)) % mod; }
例题
HDU 5970
代码
#include <bits/stdc++.h> long long mod = 1e9+7; const double ex = 1e-10; #define inf 0x3f3f3f3f using namespace std; long long c; int f(int x,int y) {c = 0;int t;while (y>0){c +=1;t = x % y;x = y;y = t;}return x; } long long get(long long a,long long b,long long c,long long n){if (n<=0) return 0;if (n==1) return (b/c) % mod;long long tmp = 0;tmp += (a/c)%mod*((n-1)*n/2%mod)%mod;tmp %= mod;tmp += (b/c)*(n)%mod;tmp %= mod;a = a%c;b = b%c;if (a==0) return tmp;else return (tmp+get(c,(a*n+b)%c,a,(a*n+b)/c)) % mod; } long long F(long long x, long long y){long long ans = 0;for (long long i = 1; i <= y ; i++){for (long long j = 0; j<i; j++){if (j==0&&i!=1) continue;long long a = j;if ( a == 0 ) a = 1;long long b = i;if (f(a,b) == 1){long long n = (x-a)/b + 1;a = a*b;b = b*b;ans = (ans + get(b,a,c,n)) % mod;}}}return ans; } int main() {int T;cin >> T;while (T--){long long x;long long y;long long p;scanf("%I64d%I64d%I64d",&x,&y,&p);mod = p;long long ans = 0;for (int i = 1 ; i <= y ; i++){ans = (ans + F(x/i,y/i)) % mod;}printf("%I64d\n",ans);}return 0; }
转载于:https://www.cnblogs.com/HITLJR/p/8039325.html
HDU 5970 CCPC2016合肥 求等差数列整除整数下取整求和相关推荐
- 向下取整符号_22. 为什么 Python 中的整除是向下取整?
本系列文章译自Python之父 Guido van Rossum 的系列博客"The History of Python".这个博客系列对我们理解Python及其演变很有帮助,经G ...
- Objective-C浮点数转化整数(向上取整、向下取整)
Objective-C拓展了C,自然很多用法是和C一致的.比如浮点数转化成整数,就有以下四种情况. 1.简单粗暴,直接转化 float f = 1.5; int a; a = (int)f; NSL ...
- 为什么python除法结果会有小数点0_关于python:为什么整数除法会在许多脚本语言中向下取整?...
在我测试过的语言中,- (x div y )不等于-x div y: 我已经在Python中测试了//,在Ruby中测试了/,在Perl 6中测试了div: C具有类似的行为. 该行为通常是按照规范进 ...
- 随机数,随机整数,向上向下取整
获取从 1 到 10 的随机整数,取 0 的概率极小 Math.ceil(Math.random()*10); // 获取从 1 到 10 的随机整数,取 0 的概率极小. 可均衡获取 0 到 1 的 ...
- 向下取整数学符号_向上取整与向下取整
向上向下取整函数数只会对小数点后面的数字不为零的数进行操作,要是给它一个整数 它就返回整数本身. 对小数不为零的数操作: 向上取整 不管四舍五入的规则 只要后面有小数前面的整数就加1 向下取整 不管四 ...
- js只保留整数,向上取整,四舍五入,向下取整等函数
1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.f ...
- js向上向下取整_WEB前端之js只保留整数,向上取整,四舍五入,向下取整等函数...
本文主要向大家介绍了WEB前端的js只保留整数,向上取整,四舍五入,向下取整等函数,通过具体的内容向大家展示,希望对大家学习WEB前端有所帮助. 1.丢弃小数部分,保留整数部分 parseInt(5/ ...
- JS 中的Math方法向上取整、向下取整、保留整数、绝对值、取最大值、最小值等
JS 中的Math方法向上取整.向下取整.保留整数.绝对值.取最大值.最小值等 1.只保留整数部分(丢弃小数部分) parseInt(5.1234);// 5 2.向下取整(<= 该数值的最大整 ...
- python取整的几种常见方式-向上取整、向下取整、四舍五入取整、int()取整、“//”整除取整
python使用中会遇到几种取整的情况,现在整理一下,以供以后学习参考. 一.向上取整,所有小数都是向着数值更大的方向取整,不论正负. math.ceil() import mathmath.ceil ...
最新文章
- python点操作符语法_最基础的python语法
- 高性能MySQL——查询性能优化
- bzoj 5369: [Pkusc2018]最大前缀和
- 蔬菜大棚成本_蔬菜大棚种植成本和利润究竟如何?种植户有话说
- SQL语句中,创建标识列、默认值及各种约束的语法介绍
- SpringBoot + SpringBatch + Quartz整合定时批量任务
- 实验二 动态规划算法 最长公共子序列问题
- POJ 2176 Folding(区间DP)
- Webpack 简介
- 网吧网络综合问题讨论和解决方案
- (1)信息熵,条件熵,信息增益,信息增益率
- ext中引用ux_Extjs Ext.ux.IFrame的用法 以及父子窗口间函数相互调用
- doc和docx、xls和xlsx、ppt和pptx有什么区别?
- (三)微信小程序云开发之微信支付全解
- 根据经纬度计算两点之间的距离
- 注册查看隐私协议 --- 滚动条是否滚动到底
- php codesniffer,PHP 系列:代码规范之 Code Sniffer
- 科学家量子计算机时间倒流,科学家用量子计算机让“时间倒流”?并没有真的做到...
- 海康威视SDK控制台程序consoleDemo获取视频通道参数
- 文本文件操作 单词排序
热门文章
- 品质标签分几种颜色_北京标签不干胶印刷厂
- 2021.09.27 MySQL笔记
- 清华镜像源_Hyperledger Fabric2.x Docker镜像编译加速
- Html设置div重置样式,CSS 重置样式
- linux c语言 udp 接收和发送数据用同一个端口_【Python学习笔记】80、UDP编程
- Windows下部署yolov5实现口罩检测
- 随机数芯片,从硬件上能产生真随机数,非伪随机数
- 只使用Feign不引入Eureka
- 机房收费系统合作版(三):利用备忘录模式实现取消修改基本数据
- 干货整理!10个Python图像处理工具,入门必看,提效大法 | 资源