http://acm.hdu.edu.cn/showproblem.php?pid=5666

这题的关键是q为质数,不妨设线段上点(x0, y0),则x0+y0=q。

那么直线方程则为y = y0/x0x,如果存在点(x1, y1)在此直线上,

那么y1 = y0*x1/x0,而y0 = q-x0,

于是y1 = (q-x0)*x1/x0 = q*x1/x0-x1,

因为x0 < q,于是(x0, q) = 1,

于是x0 | x1,

而x1 < x0,于是x1 = x0,

也就是说三角形内部的整点都不在线上,

于是计算三角形内部的整点即可。

但是中间计算数据很大,需要用大数,这里采用了Java。

代码:

import java.math.BigInteger;
import java.util.Scanner;public class Main
{public static void main(String[] args){Scanner input = new Scanner(System.in);int T = input.nextInt();BigInteger p, q;BigInteger two = new BigInteger("2");BigInteger one = new BigInteger("1");for (int times = 1; times <= T; ++times){q = input.nextBigInteger();p = input.nextBigInteger();q = q.subtract(two);q = q.multiply(q.add(one));q = q.divide(two);System.out.println(q.mod(p));}}
}

View Code

转载于:https://www.cnblogs.com/andyqsmart/p/5427828.html

ACM学习历程—HDU5666 Segment(数论)相关推荐

  1. ACM学习历程—HDU5668 Circle(数论)

    http://acm.hdu.edu.cn/showproblem.php?pid=5668 这题的话,假设每次报x个,那么可以模拟一遍, 假设第i个出局的是a[i],那么从第i-1个出局的人后,重新 ...

  2. 完成了C++作业,本博客现在开始全面记录acm学习历程,真正的acm之路,现在开始

    以下以目前遇到题目开始记录,按发布时间排序 ACM之递推递归 ACM之数学题 拓扑排序 ACM之最短路径做题笔记与记录 STL学习笔记不(定期更新) 八皇后问题解题报告 转载于:https://www ...

  3. ACM学习历程—HDU5586 Sum(动态规划)(BestCoder Round #64 (div.2) 1002)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5586 题目大意就是把一段序列里面的数替换成f(x),然后让总和最大. 首先可以计算出初始的总和,以及每 ...

  4. ACM学习历程—UESTC 1226 Huatuo's Medicine(数学)(2015CCPC L)

    题目链接:http://acm.uestc.edu.cn/#/problem/show/1226 题目就是构造一个对称的串,除了中间的那个只有1个,其余的两边都是对称的两个,自然答案就是2*n-1. ...

  5. ACM学习历程—HDU2476 String painter(动态规划)

    http://acm.hdu.edu.cn/showproblem.php?pid=2476 题目大意是给定一个起始串和一个目标串,然后每次可以将某一段区间染成一种字符,问从起始串到目标串最少需要染多 ...

  6. ACM学习历程—HDU2068 RPG的错排(组合数学)

    Description 今年暑假杭电ACM集训队第一次组成女生队,其中有一队叫RPG,但做为集训队成员之一的野骆驼竟然不知道RPG三个人具体是谁谁.RPG给他机会让他猜猜,第一次猜:R是公主,P是草儿 ...

  7. ACM学习历程—Hihocoder [Offer收割]编程练习赛1

    比赛链接:http://hihocoder.com/contest/hihointerview3/problem/1 大概有一个月没怎么打算法了.这一场的前一场BC,也打的不是很好.本来Div1的A和 ...

  8. ACM学习历程—Hihocoder 1290 Demo Day(动态规划)

    http://hihocoder.com/problemset/problem/1290 这题是这次微软笔试的第三题,过的人比第一题少一点,这题一眼看过去就是动态规划,不过转移方程貌似不是很简单,调试 ...

  9. ACM学习历程—51NOD 1685 第K大区间2(二分 树状数组 中位数)

    http://www.51nod.com/contest/problem.html#!problemId=1685 这是这次BSG白山极客挑战赛的E题. 这题可以二分答案t. 关键在于,对于一个t,如 ...

最新文章

  1. 优质的空间服务商对网站优化的重要性
  2. struc,union,class的内存对齐方式
  3. MFC学习之路之多媒体 --(1) DirectShow
  4. resultAPI示例
  5. OpenShift 4 - 配置OpenShift集群日志环境EFK
  6. Unity(TransForm)
  7. TOGAF架构体系材料
  8. 编程语言常见符号合集,赶快收藏。
  9. 【爬虫】使用Scrapy框架进行爬虫详解及示例
  10. MPU6050陀螺仪
  11. 为什么郭台铭才是夏普的最佳归宿?
  12. 经纬度转换器_FME应用小实例:线面经纬度集合快速转几何图形
  13. linux删除不了777文件,Linux使用着需要理解chmod -r 777文件权限
  14. 解决WARN Establishing SSL connection without servers identity verification is not recommended问题
  15. 文化袁探索专栏——事件分发机制
  16. 1.16 常用电平标准(TTL、CMOS、LVTTL、LVCMOS、ECL、PECL、LVPECL)
  17. 打印机后台程序服务没有运行该怎么办
  18. 蓝鲸智云-腾讯给广大运维工作者的福利
  19. 联想笔记本thinkpad 重启(升级)后开机黑屏
  20. ABAC权限控制学习

热门文章

  1. C++ 优先级队列(priority_queue)
  2. Hibernate使用的一些细节注意事项
  3. 几篇关于Cecil混淆程序集的文章
  4. .NET生成静态页面并分页
  5. linux grub内核选择,UBUNTU GRUB没有内核选项,怎么回事啊?
  6. linux中程序定时重启脚本,linux下通过脚本实现自动重启程序的方法
  7. 放大器的传递函数_这么酷,采用极致小巧的运算放大器设计麦克风电路!
  8. GIS制图人员的自我修养(2)--制图意识
  9. [强烈推荐] 新手入门:目前为止最透彻的的Netty高性能原理和框架架构解析
  10. 记一次PHP服务器500错误的解决方法