先来大宝贝

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合肥 求等差数列整除整数下取整求和相关推荐

  1. 向下取整符号_22. 为什么 Python 中的整除是向下取整?

    本系列文章译自Python之父 Guido van Rossum 的系列博客"The History of Python".这个博客系列对我们理解Python及其演变很有帮助,经G ...

  2. Objective-C浮点数转化整数(向上取整、向下取整)

    Objective-C拓展了C,自然很多用法是和C一致的.比如浮点数转化成整数,就有以下四种情况.  1.简单粗暴,直接转化 float f = 1.5; int a; a = (int)f; NSL ...

  3. 为什么python除法结果会有小数点0_关于python:为什么整数除法会在许多脚本语言中向下取整?...

    在我测试过的语言中,- (x div y )不等于-x div y: 我已经在Python中测试了//,在Ruby中测试了/,在Perl 6中测试了div: C具有类似的行为. 该行为通常是按照规范进 ...

  4. 随机数,随机整数,向上向下取整

    获取从 1 到 10 的随机整数,取 0 的概率极小 Math.ceil(Math.random()*10); // 获取从 1 到 10 的随机整数,取 0 的概率极小. 可均衡获取 0 到 1 的 ...

  5. 向下取整数学符号_向上取整与向下取整

    向上向下取整函数数只会对小数点后面的数字不为零的数进行操作,要是给它一个整数 它就返回整数本身. 对小数不为零的数操作: 向上取整 不管四舍五入的规则 只要后面有小数前面的整数就加1 向下取整 不管四 ...

  6. js只保留整数,向上取整,四舍五入,向下取整等函数

    1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.f ...

  7. js向上向下取整_WEB前端之js只保留整数,向上取整,四舍五入,向下取整等函数...

    本文主要向大家介绍了WEB前端的js只保留整数,向上取整,四舍五入,向下取整等函数,通过具体的内容向大家展示,希望对大家学习WEB前端有所帮助. 1.丢弃小数部分,保留整数部分 parseInt(5/ ...

  8. JS 中的Math方法向上取整、向下取整、保留整数、绝对值、取最大值、最小值等

    JS 中的Math方法向上取整.向下取整.保留整数.绝对值.取最大值.最小值等 1.只保留整数部分(丢弃小数部分) parseInt(5.1234);// 5 2.向下取整(<= 该数值的最大整 ...

  9. python取整的几种常见方式-向上取整、向下取整、四舍五入取整、int()取整、“//”整除取整

    python使用中会遇到几种取整的情况,现在整理一下,以供以后学习参考. 一.向上取整,所有小数都是向着数值更大的方向取整,不论正负. math.ceil() import mathmath.ceil ...

最新文章

  1. python点操作符语法_最基础的python语法
  2. 高性能MySQL——查询性能优化
  3. bzoj 5369: [Pkusc2018]最大前缀和
  4. 蔬菜大棚成本_蔬菜大棚种植成本和利润究竟如何?种植户有话说
  5. SQL语句中,创建标识列、默认值及各种约束的语法介绍
  6. SpringBoot + SpringBatch + Quartz整合定时批量任务
  7. 实验二 动态规划算法 最长公共子序列问题
  8. POJ 2176 Folding(区间DP)
  9. Webpack 简介
  10. 网吧网络综合问题讨论和解决方案
  11. (1)信息熵,条件熵,信息增益,信息增益率
  12. ext中引用ux_Extjs Ext.ux.IFrame的用法 以及父子窗口间函数相互调用
  13. doc和docx、xls和xlsx、ppt和pptx有什么区别?
  14. (三)微信小程序云开发之微信支付全解
  15. 根据经纬度计算两点之间的距离
  16. 注册查看隐私协议 --- 滚动条是否滚动到底
  17. php codesniffer,PHP 系列:代码规范之 Code Sniffer
  18. 科学家量子计算机时间倒流,科学家用量子计算机让“时间倒流”?并没有真的做到...
  19. 海康威视SDK控制台程序consoleDemo获取视频通道参数
  20. 文本文件操作 单词排序

热门文章

  1. 品质标签分几种颜色_北京标签不干胶印刷厂
  2. 2021.09.27 MySQL笔记
  3. 清华镜像源_Hyperledger Fabric2.x Docker镜像编译加速
  4. Html设置div重置样式,CSS 重置样式
  5. linux c语言 udp 接收和发送数据用同一个端口_【Python学习笔记】80、UDP编程
  6. Windows下部署yolov5实现口罩检测
  7. 随机数芯片,从硬件上能产生真随机数,非伪随机数
  8. 只使用Feign不引入Eureka
  9. 机房收费系统合作版(三):利用备忘录模式实现取消修改基本数据
  10. 干货整理!10个Python图像处理工具,入门必看,提效大法 | 资源