BZOJ-3505-数三角形-CQOI2014
描述
给定一个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相关推荐
- 【组合取补集】数三角形 @CQOI2014/BZOJ3505/upcexam3843
http://exam.upc.edu.cn/problem.php?id=3843&csrf=8oK86t2oHSgi3Q4SX3qOJGeENe6pfXri 时间限制: 1 Sec 内存限 ...
- bzoj3505 / P3166 [CQOI2014]数三角形
P3166 [CQOI2014]数三角形 前置知识:某两个点$(x_{1},,y_{1}),(x_{2},y_{2})\quad (x_{1}<x_{2},y_{1}<y_{2})$所连成 ...
- P3166 [CQOI2014]数三角形(组合数学)
P3166 [CQOI2014]数三角形(组合数学) 整点三角形个数. 正难则反,求出总方案和共线三角形方案数即可. 总方案:C((n+1)(m+1),3)C((n+1)(m+1),3)C((n+1) ...
- 一本通1655数三角形
1655:数三角形 时间限制: 1000 ms 内存限制: 524288 KB [题目描述] 给定一个 n×m 的网格,请计算三点都在格点上的三角形共有多少个.下图为 4×4 的网格上 ...
- 组合计数——车的放置(逆元)+数三角形+序列统计(lucas定理)
通用传送门:https://www.acwing.com/activity/content/16/ 思路:设C(a,b)为从a中取出b个的组合数,设A(a,b)从a中选出b个进行排列的排列数. 对于题 ...
- 组合数学——数三角形
数三角形 给定一个 n×m 的网格,请计算三点都在格点上的三角形共有多少个. 下图为 4×4 的网格上的一个三角形. 注意:三角形的三点不能共线. 输入格式 输入一行,包含两个空格分隔的正整数 m 和 ...
- 2023NHOI数三角形题解
第五题数三角形(e.cpp)[题目描述]已知一个包含n个非负整数的数组a,要从中选出三个数作为三角形的三条边的边长,有多少种不同的选法.注意:要组成三角形需要满足的条件是任意两边之和大于第三边.[输入 ...
- 计蒜客NOIP模拟赛 数三角形
数三角形 题目描述 刚刚上高中的洁洁在学习组合数学的过程中遇到一道麻烦的题目,她希望你能帮助她解决.给定一张无向完全图 G,其中大部分边被染成蓝色,但也有一些边被染成红色或者绿色.现在,洁洁需要给这张 ...
- 数三角形 (组合数学+分类讨论)
数三角形 [Link](信息学奥赛一本通(C++版)在线评测系统 (ssoier.cn)) 题意 给定一个 n × m n\times m n×m的网格,请计算三点都在格点上的三角形共有多少个. 题解 ...
- BZOJ 3505 [Cqoi2014]数三角形(组合数学)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3505 [题目大意] 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个. 注 ...
最新文章
- CV大咖齐聚于此,追忆一代宗师Thomas S. Huang为人、为师、为学
- py编程技巧-1.5-如何快速找到多个字典的公共键(key)
- JavaScript语言基础9
- 因特尔显卡自定义分辨率_iGame RTX 30系显卡《赛博朋克2077》测试
- 原型模式——HeadFirst设计模式学习笔记
- 2015年蓝桥杯省赛第5题--九数组分数
- android项目模块导入eclipse编译报错,android中studio导入eclipse项目报错怎么办
- 【Spring Boot】【Thymeleaf】The SpringStandard Dialect
- 【windows环境——VSCode安装教程】
- php 统计目录大小,PHP 统计目录大小
- linux头文件怎么编译,microsoft编译器怎么使用Linux头文件
- jquery 序列化表格内容为字符串(serialize)
- 如何快速转载CSDN博客(详细)
- 程序布置到服务器上速度慢_百战程序员python面试题总结---高级语法(4)
- 农业物联网卡存在哪些问题?
- Word2vec 源码详解
- k touch for android,k touch for android新十年
- Android 仿淘宝首页界面
- Linux下用脚本命令打开文档、表格、PPT
- 高仿微信上划取消录音