描述

给定一个nxm的网格, 请计算三点都在格点上的三角形共有多少个.


分析

  • 三角形的三个顶点不能共线. 这是入手点.
  • 下面来考虑一个问题, 原点到点(x,y)之间的线段上有几个整点
    • 如果把x, y同除以一个数g保证结果是整数, 那么(x/g, y/g)一定是原点到(x,y)的线段上的整点
    • 原点到(x,y)的线段上的整点中 每两个相邻的之间的距离相等. 而且等于原点到第一个点的距离.
    • 那么找到第一个点就可以知道共有几个了. 比如第一个点(x0,y0). 那么一共x/x0个点.
    • 第一个点, 也就是横纵坐标最小的, 就是g最大的. g最大是gcd(x,y). 第一个点的横坐标就是x/gcd(x,y). 带到上面一共gcd(x,y)个整点. 这些点中包含了(x,y).
  • 如果不考虑三点共线的情况, 共tot = (m+1)*(n+1)个点, 一共的方案数是C(tot, 3)种.
  • 然后就可以枚举从原点出发的向量(x,y), 用gcd算出原点到点(x,y)之间的线段上有几个整点. 然后计算有几个等于(x,y)的向量. 相乘.

代码

https://code.csdn.net/snippets/621864

BZOJ-3505-数三角形-CQOI2014相关推荐

  1. 【组合取补集】数三角形 @CQOI2014/BZOJ3505/upcexam3843

    http://exam.upc.edu.cn/problem.php?id=3843&csrf=8oK86t2oHSgi3Q4SX3qOJGeENe6pfXri 时间限制: 1 Sec 内存限 ...

  2. bzoj3505 / P3166 [CQOI2014]数三角形

    P3166 [CQOI2014]数三角形 前置知识:某两个点$(x_{1},,y_{1}),(x_{2},y_{2})\quad (x_{1}<x_{2},y_{1}<y_{2})$所连成 ...

  3. P3166 [CQOI2014]数三角形(组合数学)

    P3166 [CQOI2014]数三角形(组合数学) 整点三角形个数. 正难则反,求出总方案和共线三角形方案数即可. 总方案:C((n+1)(m+1),3)C((n+1)(m+1),3)C((n+1) ...

  4. 一本通1655数三角形

    1655:数三角形 时间限制: 1000 ms         内存限制: 524288 KB [题目描述] 给定一个 n×m 的网格,请计算三点都在格点上的三角形共有多少个.下图为 4×4 的网格上 ...

  5. 组合计数——车的放置(逆元)+数三角形+序列统计(lucas定理)

    通用传送门:https://www.acwing.com/activity/content/16/ 思路:设C(a,b)为从a中取出b个的组合数,设A(a,b)从a中选出b个进行排列的排列数. 对于题 ...

  6. 组合数学——数三角形

    数三角形 给定一个 n×m 的网格,请计算三点都在格点上的三角形共有多少个. 下图为 4×4 的网格上的一个三角形. 注意:三角形的三点不能共线. 输入格式 输入一行,包含两个空格分隔的正整数 m 和 ...

  7. 2023NHOI数三角形题解

    第五题数三角形(e.cpp)[题目描述]已知一个包含n个非负整数的数组a,要从中选出三个数作为三角形的三条边的边长,有多少种不同的选法.注意:要组成三角形需要满足的条件是任意两边之和大于第三边.[输入 ...

  8. 计蒜客NOIP模拟赛 数三角形

    数三角形 题目描述 刚刚上高中的洁洁在学习组合数学的过程中遇到一道麻烦的题目,她希望你能帮助她解决.给定一张无向完全图 G,其中大部分边被染成蓝色,但也有一些边被染成红色或者绿色.现在,洁洁需要给这张 ...

  9. 数三角形 (组合数学+分类讨论)

    数三角形 [Link](信息学奥赛一本通(C++版)在线评测系统 (ssoier.cn)) 题意 给定一个 n × m n\times m n×m的网格,请计算三点都在格点上的三角形共有多少个. 题解 ...

  10. BZOJ 3505 [Cqoi2014]数三角形(组合数学)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3505 [题目大意] 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个. 注 ...

最新文章

  1. CV大咖齐聚于此,追忆一代宗师Thomas S. Huang为人、为师、为学
  2. py编程技巧-1.5-如何快速找到多个字典的公共键(key)
  3. JavaScript语言基础9
  4. 因特尔显卡自定义分辨率_iGame RTX 30系显卡《赛博朋克2077》测试
  5. 原型模式——HeadFirst设计模式学习笔记
  6. 2015年蓝桥杯省赛第5题--九数组分数
  7. android项目模块导入eclipse编译报错,android中studio导入eclipse项目报错怎么办
  8. 【Spring Boot】【Thymeleaf】The SpringStandard Dialect
  9. 【windows环境——VSCode安装教程】
  10. php 统计目录大小,PHP 统计目录大小
  11. linux头文件怎么编译,microsoft编译器怎么使用Linux头文件
  12. jquery 序列化表格内容为字符串(serialize)
  13. 如何快速转载CSDN博客(详细)
  14. 程序布置到服务器上速度慢_百战程序员python面试题总结---高级语法(4)
  15. 农业物联网卡存在哪些问题?
  16. Word2vec 源码详解
  17. k touch for android,k touch for android新十年
  18. Android 仿淘宝首页界面
  19. Linux下用脚本命令打开文档、表格、PPT
  20. 高仿微信上划取消录音

热门文章

  1. [云炬创业基础笔记]第二章创业者测试22
  2. 《蓝桥小记》 2018-04-01
  3. 台湾大学林轩田机器学习基石课程学习笔记14 -- Regularization
  4. u-boot命令寻找分析--find_cmd函数
  5. 库函数、系统调用和内核函数的区别
  6. SuperMap导航条控件设置
  7. Linux 文件查找命令
  8. update语句的返回值是什么
  9. Spring Ioc源码分析 之 Bean的加载(5):循环依赖处理(populateBean())
  10. STM32开发 -- 4G模块开发详解(1)