3505: [Cqoi2014]数三角形

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 478  Solved: 293
[Submit][Status]

Description

给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个。下图为4x4的网格上的一个三角形。

注意三角形的三点不能共线。

Input

输入一行,包含两个空格分隔的正整数m和n。

Output

输出一个正整数,为所求三角形数量。

Sample Input


2 2

Sample Output

76

数据范围
1<=m,n<=1000

HINT

Source

  这道题我居然白痴得卡在了求三点共线组数上,最开始我的想法是枚举每一个斜率的直线,计算他们的条数与交点,但是至今我还是不知道怎么弄,正确的方法应该是枚举三点共线两端点的坐标差,然后可轻而易举求出这样的端点对数,中间点的位置数,即可解此题。

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
using namespace std;
#define MAXN 10000
typedef long long qword;
int gcd(int x,int y)
{return (x%y==0)?y:gcd(y,x%y);
}
int main()
{freopen("input.txt","r",stdin);
//        freopen("output.txt","w",stdout);int i,j,k,x,y,z;int n,m;scanf("%d%d",&n,&m);n++;m++;int tot=0;qword ans0,ans1=0;ans0=(qword)(m*n-2)*(m*n-1)*m*n/6;for (i=1;i<n;i++){for (j=1;j<m;j++){ans1+=(qword)(gcd(i,j)-1)*(n-i)*(m-j);}}ans1*=2;ans1+=(qword)(n-2)*(n-1)*n/6*m;ans1+=(qword)(m-2)*(m-1)*m/6*n;printf("%lld\n",ans0-ans1);
}

转载于:https://www.cnblogs.com/mhy12345/p/4049904.html

bzoj 3505: [Cqoi2014]数三角形 组合数学相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. P3166 [CQOI2014]数三角形

    文章目录 ResultResultResult HyperlinkHyperlinkHyperlink DescriptionDescriptionDescription SolutionSoluti ...

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

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

最新文章

  1. Solr在Weblogic中部署遇到的问题
  2. 一个低级错误,关于timer
  3. 程序员,别了校园入了江湖
  4. 【引用】内网安全数据保密技术分析与比较
  5. http协议与web本质
  6. 爱数助力国资委实现混合IT环境下的业务保护
  7. java中文件下载的思路(参考:孤傲苍狼)
  8. 全DIY主题+小工具 正版Win7桌面新体验windows7旗舰版主
  9. 什么样的会员管理才叫有效果的会员运营方案?
  10. 飞跃微信小程序一一新风口新模式,你所了解到的小程序有多少?
  11. IBus拼音无法选择候选词故障
  12. 利用redis生成订单号
  13. VMware 虚拟机 linux执行 ifconfig 命令 eth0没有IP地址(intet addr、Bcast、Mask) UP BROADCAST MULTICAST 问题
  14. RAKsmart高防服务器怎么样
  15. ubuntu展示点云使用boost::this_thread报错
  16. 关于String的intern的一个题目
  17. 仿soul交友盲盒1.0全开源源码
  18. android 手机型号占有量,2021年安卓手机性能排行及手机品牌占有率
  19. 微型计算机简单并行接口实验心得,实验二 简单并行接口
  20. python字典函数大全_python字典介绍

热门文章

  1. JSON for Modern C++
  2. 基于OpenSSL,实现C语言SM2的PKCS10的证书请求
  3. 机器学习:数据归一化(Scaler)
  4. ionic emulate实时调试修改
  5. DataSource 详解
  6. mysql datasource.url_DataSource配置
  7. unity3d meshBaker教程(二) 自动合并
  8. 小记--解决方案: rsyslogd cpu占用率高
  9. 用计算机中的知识秀恩爱,教你用专业知识取情侣网名
  10. 移动硬盘无法在ubuntu显示