【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=3505

【题目大意】

  给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个。
  注意三角形的三点不能共线。

【题解】

  我们计算三个点组合的情况,去除横竖三共线,以及斜着三点共线的情况即可。
  一个矩形斜对角上的整点数为其长宽的最大公约数+1.

【代码】

#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long LL;
LL c[1001000][4],ans;
int n,m;
void init(){c[0][0]=1;for(int i=1;i<=n*m;i++){c[i][0]=1;for(int j=1;j<=3;j++)c[i][j]=c[i-1][j-1]+c[i-1][j];}
}
void solve(){ans=c[n*m][3]-n*c[m][3]-m*c[n][3];for(int i=1;i<n;i++)for(int j=1;j<m;j++){LL t=__gcd(i,j)+1;if(t>2)ans-=(t-2)*2*(n-i)*(m-j);}
}
int main(){while(~scanf("%d%d",&n,&m)){ans=0;n++;m++;init(); solve();printf("%lld\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/forever97/p/bzoj3505.html

BZOJ 3505 [Cqoi2014]数三角形(组合数学)相关推荐

  1. bzoj 3505: [Cqoi2014]数三角形

    Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 970  Solved: 595 [Submit][Status][Discuss] Descript ...

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

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

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

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

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

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

  5. 【BZOJ 3505】 [Cqoi2014]数三角形 容斥原理+排列组合+GCD

    我们先把所有三角形用排列组合算出来,再把一行一列上的三点共线减去,然后我们只观察向右上的三点共线,向左上的乘二即可,我们发现我们如果枚举所有的两边点再乘中间点的个数(GCD),那么我们发现所有的两边点 ...

  6. [CQOI2014]数三角形 题解(找规律乱搞)

    题面 其实这道题不用组合数!不用容斥! 只需要一个gcd和无脑找规律(滑稽 乍一看题目,如果单纯求合法三角形的话情况太多太复杂,我们可以从局部入手,最终扩展到整体. 首先考虑这样的情况: 类似地,我们 ...

  7. 洛谷 P3166 [CQOI2014]数三角形(gcd+组合计数)

    题目描述 给定一个 N×MN\times MN×M 的网格,请计算三点都在格点上的三角形共有多少个.注意三角形的三点不能共线. 输入格式 输入一行,包含两个空格分隔的正整数 MMM 和 NNN . 输 ...

  8. P3166 [CQOI2014]数三角形

    文章目录 ResultResultResult HyperlinkHyperlinkHyperlink DescriptionDescriptionDescription SolutionSoluti ...

  9. P3166 [CQOI2014]数三角形(结论)

    https://www.luogu.com.cn/problem/P3166 思路: cf也有一道几乎一致的题,但是那题是2e3个点,可以n^2logn,先算出总数C(n,3),然后预处理经过某个点的 ...

最新文章

  1. 【网络爬虫入门02】HTTP客户端库Requests的基本原理与基础应用
  2. 干货 | 中国的支付清算体系是怎么玩的?
  3. Mysql学习总结(62)——MySQL连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link问题
  4. JConsole监控远程linux下的JVM
  5. 罗永浩回应“鲨鱼皮技术遭质疑”;消息称马蜂窝开启裁员;Dart 2.7 发布 | 极客头条...
  6. vb在 ListBox 之中点击右键弹出菜单
  7. Python内置数据结构——字符串string
  8. lambda表达式总结
  9. 近场动力学python_科学网—近动力学最新上线的文章快报:2018年7月 - 韩非的博文...
  10. bug是什么意思详细介绍
  11. jqwidgets日历插件如何改为中文版24小时制和bootstrap的日期控件如何改成24小时制
  12. (19年最新,操作极简)linux下使用xmind zen破解版
  13. (转)A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'
  14. 台湾半导体制造商台积电市值首次超越英特尔
  15. Hexo文件压缩:使用hexo-neat插件压缩页面静态资源
  16. Lammps实现水分子在纳米颗粒球表面的吸附行为
  17. A-Star算法探索和实现(一)
  18. FlyMcu下载出现“从08000000开始运行失败...可能是因为刚写了选项字节!!!”解决方法!
  19. 容大电子秤传称_容大条码秤的传秤配置(旧版)
  20. OpenGL基础(三):三角形

热门文章

  1. 五指棋,贪吃蛇,中国银行ATM源码链接
  2. 【读书笔记】《深入浅出nodejs》第五章 内存控制
  3. mvc的视图中显示DataTable的方法
  4. 找出一个字符串中出现次数最多的字_487,重构字符串
  5. Linux 命令简单介绍第一课笔记
  6. python 多线程并发怎么还是顺序执行_python thread 并发且顺序运行示例
  7. lua检测表中是否有某个值_Lua检测数组(tabble)中是否包含某个值
  8. AUTOSAR专业知识篇(八)-ID.3 和大众的电气化平台
  9. endnote能自动翻译吗_自动挡和手自一体有啥区别?从外表能看出一辆车是哪种变速箱吗?...
  10. 常见的清除浮动的五种解决办法